- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java通信程序计课程设计报告
Java通信程序设计
课程设计报告
题 目 Java网络聊天室程序设计
学生姓名
学 号
院 系 电子与信息工程学院
专 业 通信工程
2013年 12 月
Java网络聊天室程序设计
翟轶彪,20121334080
南京信息工程大学通信工程系,南京 210044
摘要:随着网络信息时代的来临,Internet应用越来越广泛人们越来越习惯于在网上获取和交流信息。据调查显示,80%以上的人上网都会打开聊天工具来聊天,而几乎每一个年轻人都会去聊天。使用网上聊天已经成为现代年轻人一种新的交往方式。聊天室更适合于陌生人之间进行较为主观、感兴化的讨论。所以有大部分的人会进入聊天室聊天它会给人一个完全自由的聊天世界。因此我们联系所学的知识做一个简易的聊天室系统。
关键词:网上聊天;聊天室
背景知识
SOCKET
Socket可以看成在两个程序进行通讯连接中的一个端点,是连接应用程序和网络驱动程序的桥梁,Socket在应用程序中创建,通过绑定与网络驱动建立关系。此后,应用程序送给Socket的数据,由Socket交网络驱动程序向网络上发送出去。计算机从网络上收到与该Socket绑定IP地址和端口号相关的数据后,由网络驱动程序交给Socket,应用程序便可从该Socket中提取接收到得数据,网络应用程序就是这样通过Socket进行数据的发送与接收的。
1.1 创建Socket;
1.2 打开连接到Socket的输入/出流;
1.3 按照一定的协议对Socket进行读/写操作;
1.4 关闭Socket.
2.IO技术
2.1阻塞模式
2.2可能造成阻塞的函数有:connect()、accept()、读写函数
3.C/S两端通过Socket机制进行连接
3.1客户端的编程流程: 3.1.1创建Socket对象,向Server的监听端口请求; 3.1.2通过向新Socket中读写数据与Server端通信; 3.1.3关闭Socket,结束与Server端;
3.2服务器端的编程流程: 3.2.1打开Server Socket,创建一个服务器型套接字和一个普通套接字,服务器型套接字在指定端口为客户端请求的Socket 服务; 3.2.2等待来自客户端的Client端的请求;
3.2.3接收Client端的请求,用返回的Socket建立连接; 3.2.4通过向Socket中读写数据来与Client端通信; 3.2.5关闭Socket,结束与当前Client端的通信;
3.2.6关闭SerketSocket对象结束监听服务。
设计思想
客户端设计思想
客户端主要完成建立连接、消息输入、消息发送、消息存储功能。功能含义如下:
1.1建立连接:建立一个ServerSocket连接,不断侦听是否有服务端连接或者断开连接。
1.2消息输入:根据用户输入的消息,将消息显示在屏幕面板上。
1.3消息发送:把用户输入的消息作为字符串通过Socket端口发送到服务器。
1.4消息存储:把用户输入的消息存储到data.txt文件中,以便用户以后查阅聊天记录。
2.客户端设计
2.1界面设计
2.2连接设计
2.3接收信息设计
2.4用户信息设计
2.5帮助设计
3.客户端连接服务器端
客户端用户设计的IP地址和端口号连接到相应的服务器,通过接收用户输入的消息,然后通过所监听的端口把消息发送到服务端,由服务端把消息发送到指定的用户。
3.1客户端请求连接
客户端通过connect()请求连接,填写端口号以及IP地址,填写自己的信息。
3.2服务器端响应
服务器端的监听器监听到客户端的连接请求后,检测后允许客户端连接到服务器。
3.3给客户端返回信息
连接成功后服务器返回给客户端连接成功的信息,并且给所有的用户发送用户登录信息。
3.4关闭Socket连接
当以上的程序都正常运行后,需要关闭Socket连接,否则将会浪费服务器与客户端之间的资源。
3.5用户退出
3.5.1接收退出信息
当用户退出时,客户端将会用基于Socket的对象输出流发送给服务器退出对象。
3.5.2在线列表中删除用户
用户退出后应该把用户从在线列表中删除,否则用户退出用户还在在线列表中,那么该用户下次将会无法登录。
3.5.3更新在线列表
用户退出后将服务器端监控界面的用户列表更新。否则用户数据将会不同步。
4.服务器设计思想
主服务器类实现了服
您可能关注的文档
- JAVA实训报告-聊天室.doc
- java实验报告-软工1202.doc
- hao2人教版三级数学上册第六单元笔算乘法(一个因数中间有0的乘法)教案.doc
- Java实验报告2010.doc
- JAVA平台系统开发方法及相关技术.doc
- Java实验报告2)修改版.doc
- JAVA教程 第讲 Java语言中的面向对象特性.doc
- JAVA教程 第讲 Java语言概述.doc
- java案例分析设计 实验3 学生综合管理系统.doc
- JAVA毕业设计物业管理系统.doc
- 华能核电开发有限公司所属基层企业2025年社会化招聘备考题库及完整答案详解一套.docx
- 2026年候鸟森林阅读试题及答案.doc
- 华能核电开发有限公司所属基层企业2025年社会化招聘备考题库及答案详解1套.docx
- 华能核电开发有限公司所属基层企业2025年社会化招聘备考题库及完整答案详解1套.docx
- 华能核电开发有限公司所属基层企业2025年社会化招聘备考题库及参考答案详解1套.docx
- 华能核电开发有限公司所属基层企业2025年社会化招聘备考题库及参考答案详解一套.docx
- 华能核电开发有限公司所属基层企业2025年社会化招聘备考题库及答案详解一套.docx
- 2026年测爱情测试题及答案.doc
- 华能核电开发有限公司所属基层企业2025年社会化招聘备考题库及一套答案详解.docx
- 华能核电开发有限公司所属基层企业2025年社会化招聘备考题库及参考答案详解.docx
原创力文档


文档评论(0)