java socket编程 - 基于tcp方式的客户服务器聊天程序(可编辑)

java socket编程 - 基于tcp方式的客户服务器聊天程序(可编辑)

ID:15674619

大小:104.50 KB

页数:11页

时间:2018-08-04

java socket编程 - 基于tcp方式的客户服务器聊天程序(可编辑)_第1页
java socket编程 - 基于tcp方式的客户服务器聊天程序(可编辑)_第2页
java socket编程 - 基于tcp方式的客户服务器聊天程序(可编辑)_第3页
java socket编程 - 基于tcp方式的客户服务器聊天程序(可编辑)_第4页
java socket编程 - 基于tcp方式的客户服务器聊天程序(可编辑)_第5页
资源描述:

《java socket编程 - 基于tcp方式的客户服务器聊天程序(可编辑)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JavaSocket编程-基于TCP方式的客户服务器聊天程序流流浪浪的的鱼鱼始始怜怜幽幽竹竹山山窗窗下下,,不不改改清清阴阴待待我我归归JJaavvaaSSoocckkeett编编程程基基于于TTCCPP方方式式的的客客户户服服务务器器聊聊天天程程序序分类:JavaScoket编程7>2012111801:14466人阅读评论5收藏举报本文讲演示如何通过JavaSocket建立C/S方式的聊天程序。实现的功能主要包括如下几个方面:1.用户登录,在线用户列表刷新2.客户端与服务器的TCP连接,实现消息的发送与接受3.JavaSwing与多线程

2、编程技巧一个整体的Class关系图如下:程序实现的服务器端UI如下:1一个JList组件用来显示在线的所有用户,一个JTextArea组件用来显示所有消息记录。所有消息必须通过服务器端转发。点击【start】按钮启动服务器端监听默认监听端口为9999。启启动动服服务务器器端端的的AAccttiioonn中中的的代代码码如如下下::ThreadstartThreadnewThreadnewRunnablepublicvoidrunstartServer9999;;startThread.start;startBtn.setEnabledals

3、e;shutDownBtn.setEnabledtrue;ssttaarrttSSeerrvveerr(())的的代代码码如如下下::privatevoidstartServerintporttryserverSocketnewServerSocketport;Sytln"Serverstartedatport:"+port;whiletrueSocketclientserverSocket.accept;//blocked&waitingoriSytln"Justconnectedto"+client.getRemoteSocketADa

4、taInputStreambueredReadernewDataInputStreamclient.getInbyte[]cbunewbyte[256];intsizebueredReader.readcbu;char[]charBuconvertByteToCharcbu,size;2StringuserNameString.valueOcharBu;ChatServerClientThreadclentThreadnewChatServerClientThreaduclientList.addclentThread;userNameLi

5、st.adduserName;clentThread.start;updateUserList;catchIOExceptionee.printStackTrace;简单协议规则:1.任何消息发送完以后系统自动加上结束标志EOF2.接受到用户消息以后通过解析EOF来完成消息传递3.自动发送更新用户列表到所有客户端当有新客户登入时为什么我要实现上述简单协议,其实任何网络通信都是基于协议实现只有基于协议实现才可控制,可检查。协议是网络通信的最重要一环。客户端UI设计如下:一个自定义的JPanel实现背景渐进颜色填充。3Message组件用来接受

6、用户输入的聊天信息FriendList会自动刷新用户列表,当有新用户登录时候HistoryRecord用来显示聊天记录【Connect】点击连接到Server端,前提是必须填写设置中全部,默认?的机器IP.1端口为9999【send】按钮点击会发送用户输入的消息到指定的其它客户端。如果?没有选择用户,则发送到服务器端。?一次发送消息的大小不得大于200个字节。完整的客户端代码如下:packagecom.gloomyrial.chat;importerLayout;importLayout;importLayout;importt.Actio

7、nEvent;importt.ActionListener;importception;importSocketAddress;importet;importetAddress;importjerFactory;importjton;importjckBox;importjme;importjel;importjt;importjionPane;importjel;importjswordField;importjollPane;importjtArea;importjtField;importcom.gloomyedGradientPan

8、el;publicclassChatClientextendsJFrameimplementsActionListenerpublicinalstaticStringCONNEC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。