资源简介
java 简单的网络聊天程序 服务器连接多个客户端
仅供学习使用。

代码片段和文件信息
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.SocketException;
import java.io.BufferedReader;
import java.io.EOFException;
import java.io.InputStreamReader;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.Dimension;
import java.awt.event.*;
public class Client extends Jframe{
public Socket socket=null;
public PrintStream print=null;
public Client(){
super(“客户端“);
Dimension size=Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(300500);
this.setLocation((int)size.getWidth()/2-200(int)size.getHeight()/2-200);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setResizable(false);
jpanel1=new JPanel();
jspane2=new JScrollPane();
text=new JTextField();
text.setEditable(true);
jpanel1.add(text);
jpanel1.setLayout(new GridLayout(11));
area=new JTextArea();
area.setBorder(
javax.swing.BorderFactory
.createLineBorder(new java.awt.Color(0 0 0)));
area.setEditable(false);
area.setTabSize(4);
area.setLineWrap(true);
jspane2.add(area);
jspane2.setViewportView(area);
jspane2.setBackground(Color.LIGHT_GRAY);
add(jpanel1new BorderLayout().SOUTH);
add(jspane2new BorderLayout().CENTER);
//添加事件对象
text.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
if(e.getKeyChar()==‘\n‘){
sendMessage();
}
}
});
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
try {
if(socket!=null){
socket.close();
System.exit(0);
}
} catch (IOException e1) {
System.out.printf(“客户端退出……“);
e1.printStackTrace();
}
}
});
setVisible(true);
}
public void startScoket(){
try{
socket=new Socket(“10.11.98.122“8888);
new Thread(new RecieveThread(socket)).start(); //创建接收信息线程
print=new PrintStream(socket.getOutputStream());//创建打印流
}catch(IOException e){
System.exit(0);
}
}
public void sendMessage(){
if(text.getText().equals(““)==false){
String str=text.getText();
str=“●“+socket.getLocalAddress()+“:\n “+str;
print.println(str);
text.setText(““);
}
}
public static void main(String []args){
new Client().startScoket();
}
private JButton jbutton;
public static JTextArea area;
private JTextField text;
private JPanel jpanel1;
private JScrollPane jspane2;
}
class RecieveThread implements Runnable{
private JOptionPane panl;
private Socket socket=null;
boolean bConnected=false;
BufferedReader reader=null;
public RecieveThread(Socket socket){
this.socket=socket;
}
public void run(){
bConnect
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2530 2011-12-28 21:21 Server.java
文件 3784 2011-12-28 21:21 Client.java
相关资源
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
评论
共有 条评论