精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-16
最后修改:2010-03-16
本例开发实现了一个多用户的P2P在线聊天程序,C/S结构,客户端可发送消息,然后其他的用户接收到该消息并将其显示在界面中,服务器对信息进行有关处理并向适当的用户发送,同时在服务器端还将显示所有的在线用户,网络管理员即服务器端管理员可选中某用户并将其踢出该聊天室。 本篇为第二篇,如果您是第一次进来请从第一篇开始,此程序不用修改完全可用,第一篇地址:http://java161.iteye.com/blog/616113
客户端用户监听线程用来监听从服务器发送过来的信息,并进行相应的处理。客户端监听具有Socket的输入流对象: protected DataInputStream inStream; inStream=new DataInputStream(connSock.getInputStream()); 同时服务器用户监听相似,该线程需要实例化一个与服务器Socket连接的输入流,然后从该输入流中读取信息,并加以分析: String str=inStream.readUTF(); if(str.equals("quit")) { applet.textArea1.append("\n 对不起,你被管理员踢出来了,请重新登陆!\n"); applet.login=false; applet.label1.setText("用户名:"); applet.button1.setLabel("登陆"); } else { StringTokenizer st=new StringTokenizer(str,":%"); applet.textArea1.append(st.nextToken()+" 说:"+st.nextToken()+"\n"); } 从上面的程序可看出,当接收到的信息为“quit”表示服务器端网络管理员已经将你踢出;若为其他信息则将所得到的信息显示在主页面中。
程序清单: package Client; import java.awt.*; /** public UserThread(Applet1 applet,Socket connSock) throws IOException protected void closeConnection() public void run()
未完待续。。。下篇 通信流程(实例P2P原理分析图)和运行结果 地址:http://java161.iteye.com/blog/616677
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-16
|
|
返回顶楼 | |
发表时间:2010-03-16
博主能不能打包呢
|
|
返回顶楼 | |
浏览 2380 次