Java服务器和客户机交互客户端代码

1932723078

贡献于2014-06-26

字数:1630 关键词: Java开发 Java

客户端 Socket s=new Socket() 客户端 Socket s=new Socket() 服务器 ServerSocket ss=new ServerSocket() Socket s=ss.accept() Socket s=ss.accept() 服务器和客户机交互 局域网聊天工具实现 服务端代码 //创建 ss = new ServerSocket(30000); started = true; while (started) { //监测客户端的请求,该线程将处于阻塞状态 Socket s = ss.accept(); //获取s对应的输入流,DataInputStream为处理流 DataInputStream dis = new DataInputStream(s.getInputStream()); //接受客户端发送的消息 String cname = dis.readUTF(); //将客户端登陆用户民放入clientsname集合中 clientsname.add(cname); //Client为一个实现Runnable接口的类,该类用于向指定客户端发送消息及接受客户端信息 //创建客户端,主要用于接受客户端的信息,并将该信息发给指定用户 Client c = new Client(s, cname); //将客户端存入集合 clients.add(c); new Thread(c).start(); Client 主要代码 //读取客户机发来的信息 message = dis.readUTF(); String message1[] = message.split("@"); //message为内容 message = message1[0]; //sname为用户 String sname = message1[1]; //将信息发给指定用户 for (int j = 0; j < clients.size(); j++) { Client c = clients.get(j); if ((!c.cname.equals(cname)) && (c.cname.equals(sname) || sname .equals("所有人"))) c.send(message, cname); 客户端页面初始化: s = new Socket("127.0.0.1", 30000);// 前边ip可以改变,根据不同的服务器改变ip地址 //获取输出流 dos = new DataOutputStream(s.getOutputStream()); //获取输入流 dis = new DataInputStream(s.getInputStream()); //连接成功提示 lblIPP.setText("连接成功 :"+strName+" 在线"); //向服务端发送请求 send1(strName, null); bconnect = true; 接收服务端消息的线程,为客户端列表添加客户 //读取服务器端信息 String str1 = dis.readUTF(); String[] message = str1.split("说"); boolean flag = true; for (int i = 0; i < objlist.size(); i++) { if (objlist.elementAt(i).equals(message[0])) { flag = false; break; } } //objlist为下拉列表的实参 if (flag == true) { objlist.add(message[0]); } if (!message[0].equals(strName)) { jtatop.append(str1 + "\n"); } 发送按钮的单击事件处理器: String strcontent = jtabottom.getText().trim(); String name = (String) jcb.getSelectedItem(); jtatop.append("我说:" + strcontent + "\n"); jtabottom.setText(""); send1(strcontent, name);

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 金币 [ 分享文档获得金币 ]
0 人已下载

下载文档

相关文档