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

1932723078 贡献于2014-06-26

作者 jsjzx  创建于2014-06-22 06:44:00   修改者jsjzx  修改于2014-06-22 07:27:00字数1630

文档摘要:Sockets=newSocket()客户端Sockets=newSocket()服务器ServerSocketss=newServerSocket()Sockets=ss.accept()Sockets=ss.accept()局域网聊天工具实现服务端代码//创建ss=newServerSocket(30000);started=true;while(started){//监测客户端的请求,该线程将处于阻塞状态Sockets=ss.accept();
关键词:

客户端 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 人已下载

下载文档