- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《多人聊天程序设计
Internet网络程序设计实验报告 基于Socket的多人聊天室程序设计
1205 张中秋 李贻鹏 李歆
1206 高蕾
指导老师:陆永忠
2015.03.30
目 录
1 实验目的及要求 2
1.1 实验目的 2
1.2 实验要求 2
2 实验环境 3
3 实验程序设计 3
3.1 设计思想 3
3.2 程序设计流程框图 4
3.3 详细设计 5
3.3.1 界面设计 6
3.3.2 主要功能实现 6
3.4 运行结果 9
4 实验感想 11
实验目的及要求
实验目的
熟悉典型协议的通讯机制,掌握基于它们的网络系统设计方法。
实验要求
编写复杂的多人聊天室程序。
实验环境
编译环境:Eclipse
运行环境:Windows 7操作系统+jdk7
实验程序设计
设计思想
根据实验的要求:在联网的多台计算机之间实现多人聊天功能,则需要程序提供一种快速、简便的网络传输服务来保证聊天的实时性。对于该程序实时性应放在首要地位予以考虑和设计。于是,我采用基于TCP协议的Windows sockets来设计实现本实验。
程序设计流程框图
图1程序设计流程框图
详细设计
基于TCP的socket编程流程:
服务器端:
创建套接字(socket)。
将套接字绑定到一个本地地址和端口上(bind)。
等待接收数据(recvfrom)。
关闭套接字。
客户端:
创建套接字(socket)。
向服务器发送数据(sendto)。
关闭套接字。
界面设计
图2程序界面
程序由以下部分组成:聊天室聊天内容的接收栏、IP地址控件,用户登录,用户聊天内容的发送栏和内容发送按钮。聊天室聊天内容的接收栏:接收并显示聊天室中聊天者发送的内容;IP地址控件:发送目的地的IP地址;用户登录:用户进入聊天室后显示昵称;用户聊天内容的发送栏:显示聊天者将要发送的内容;内容发送按钮:单击后将用户聊天内容的发送栏的信息发送给目标计算机。
主要功能实现
套接字库加载:
Socket socket=new Socket();
ServerSocket server=new ServerSocket();
套接字初始化:
客户端:
public void setUpNet(){
try{
Socket s=new Socket(ipInput.getText(),25003);
InputStreamReader StreamReader=new InputStreamReader(s.getInputStream());
reader=new BufferedReader(StreamReader);
writer=new PrintWriter(s.getOutputStream());
System.out.println(connect is vivasible!);
JOptionPane.showMessageDialog(null, 连接成功);
}catch(IOException ex){
ex.printStackTrace();
JOptionPane.showMessageDialog(null, 连接失败);
}
}
服务端:
openServiceBtn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try{
ServerSocket ss=new ServerSocket(25003);
while(true){
Socket s=ss.accept();
socketList.add(s);
final DataInputStream bufIn = new DataInputStream(
s.getInputStream());
final BufferedOutputStream bufOut= new BufferedOutputStream(
s.getOutputStream());
new Thread(new ServerThread(s)).start();
}
}catch(Exception e3){
JOptionPa
您可能关注的文档
- 《复变函数由来.doc
- 《复兴镇第二小学环境主题教育活动记录.doc
- [高中化学必修有机部分复习.pptx
- 《复式教学模式改革对主体性教学理论的丰富与发展.doc
- 《复旦大学国有经营性资产管理暂行办法.docx
- 《复读生学习方法大总结.doc
- 《夏商周断代工程的主要成就国图讲座.doc
- 《夏季电风扇营销策划书.doc
- 《夏季防暑降温施工方案.doc
- 《夏季施工防署降温措施.doc
- 某某单位2024年党建工作总结及2025年工作计划.doc
- 某某市发改委关于2024年度落实党风廉政建设工作责任制情况的报告.doc
- 某某局2024年全面从严治党和党风廉政建设工作总结.doc
- 某某区财政局2024年法治政府建设总结及2025年工作谋划.doc
- 2024年党管武装工作述职报告2篇.doc
- 2024年度国企党委书记抓基层党建工作述职报告3篇.doc
- 公司党委书记2024年述职述廉报告.docx
- 2024年度乡镇党委领导班子民主生活会(四个带头)对照检查材料.doc
- 市医疗保障局关于2024年法治政府建设工作情况的报告.docx
- 市民政局党组2024年巡察整改工作情况报告.docx
文档评论(0)