欢迎来到天天文库
浏览记录
ID:31924255
大小:198.00 KB
页数:11页
时间:2019-01-27
《多人聊天程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.Internet网络程序设计实验报告基于Socket的多人聊天室程序设计1205张中秋李贻鹏李歆1206高蕾指导老师:陆永忠2015.03.30...目录1实验目的及要求21.1实验目的21.2实验要求22实验环境33实验程序设计33.1设计思想33.2程序设计流程框图43.3详细设计53.3.1界面设计63.3.2主要功能实现63.4运行结果94实验感想11...1实验目的及要求1.1实验目的熟悉典型协议的通讯机制,掌握基于它们的网络系统设计方法。1.2实验要求编写复杂的多人聊天室程序。2实验环境编译环境:Ecl
2、ipse运行环境:Windows7操作系统+jdk73实验程序设计3.1设计思想根据实验的要求:在联网的多台计算机之间实现多人聊天功能,则需要程序提供一种快速、简便的网络传输服务来保证聊天的实时性。对于该程序实时性应放在首要地位予以考虑和设计。于是,我采用基于TCP协议的Windowssockets来设计实现本实验。...1.1程序设计流程框图创建新的通信端点将一个本地地址关联到套接字上阻塞,等待客户端发送数据发送数据释放连接结束开始向服务器发送数据创建新的通信端点接受数据释放连接结束开始服务器端服务请求客户端处理服
3、务请求服务应答图1程序设计流程框图...1.1详细设计基于TCP的socket编程流程:服务器端:Ø创建套接字(socket)。Ø将套接字绑定到一个本地地址和端口上(bind)。Ø等待接收数据(recvfrom)。Ø关闭套接字。客户端:Ø创建套接字(socket)。Ø向服务器发送数据(sendto)。Ø关闭套接字。...1.1.1界面设计图2程序界面程序由以下部分组成:聊天室聊天内容的接收栏、IP地址控件,用户登录,用户聊天内容的发送栏和内容发送按钮。聊天室聊天内容的接收栏:接收并显示聊天室中聊天者发送的内容;IP地
4、址控件:发送目的地的IP地址;用户登录:用户进入聊天室后显示昵称;用户聊天内容的发送栏:显示聊天者将要发送的内容;内容发送按钮:单击后将用户聊天内容的发送栏的信息发送给目标计算机。1.1.2主要功能实现套接字库加载:Socketsocket=newSocket();ServerSocketserver=newServerSocket();套接字初始化:...客户端:publicvoidsetUpNet(){try{Sockets=newSocket(ipInput.getText(),25003);InputStre
5、amReaderStreamReader=newInputStreamReader(s.getInputStream());reader=newBufferedReader(StreamReader);writer=newPrintWriter(s.getOutputStream());System.out.println("connectisvivasible!");JOptionPane.showMessageDialog(null,"连接成功");}catch(IOExceptionex){ex.printSt
6、ackTrace();JOptionPane.showMessageDialog(null,"连接失败");}}服务端:openServiceBtn.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubtry{ServerSocketss=newServerSocket(25003);while(true){Sockets=ss.acce
7、pt();socketList.add(s);finalDataInputStreambufIn=newDataInputStream(s.getInputStream());finalBufferedOutputStreambufOut=newBufferedOutputStream(s.getOutputStream());newThread(newServerThread(s)).start();}}catch(Exceptione3){JOptionPane.showConfirmDialog(null,""
8、);...}}});接收聊天内容线程:publicclassClientThreadimplementsRunnable{@Overridepublicvoidrun(){//TODOAuto-generatedmethodstubStringcontent;try{while((content=reader.readLine())!=null
此文档下载收益归作者所有