- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
網络编程课程设计---java聊天室
《Windows网络编程技术》课程设计报告
题目:
院 系:
专业班级:
学 号:
学生姓名:
指导教师:
年 月 日
1.引言
本课题的来源
随着网络普及和上网人数的大增,在国内各大门户网站都架设了大型聊天室。如:新浪聊天室、中华网社区聊天室、搜狐等都成为网民们的热门聊天室。以新浪聊天室为例看,聊天室呈现积聚人气作用,并开设不同主题的聊天室以使网民们具有针对性的使用聊天室。
本小组计划设计一个实现基于Java语言的聊天室的Windows网络编程,启动服务器后,客户端运行,向服务器端发出请求,连接成功后,会弹出一个聊天室的界面,该界面有私聊(可加入生动的表情描述)、群聊、发送文件等功能,客户可以根据自己的需要选择不同的功能。本人在此小组中的具体任务是实现文件的接收功能,启动服务器监听后,接收客户端发来请求,安排线程接收对方发来的文件(例如文档、照片、音乐、电影等)并存入指定的文件夹中。
2)本系统涉及的知识点
1、套接字Socket的建立、连接、关闭,客户端和服务器端的输入/输出流的连接。
2、Java中的多线程及线程的常用方法、Runnable接口。
3、基于SWING的图形用户界面设计:布局设计、文本组件、按钮与标签组件、列表组件等。
4、InetAddress类。
5、输入/输出流:文件、文件字节流、文件字符流、缓冲流、数据流。
3)功能要求
(1)在服务器端和客户端分别创建一个套接字对象,通过输入输出流连接在一起。套接字调用close()方法关闭双方的套接字连接。
(2)使用多线程处理套接字连接,把服务器端或客户端读取的数据放在一个单独的线程中去进行,防止服务器端或客户端读取数据可能引起的堵塞。服务器端收到一个客户的套接字后,应该启动一个专门为该客户服务的线程。
(3)在进行之前,首先决定的第一个问题就是,该使用什么开发环境来编写?以目前常用的开发语言来讲有C/C++、.NET技术,JAVA、 Visual Basic几种还有、Borland JBuilder等,这些并不是程序语言,而是程序语言在建构程序时的“集成开发工具”,不过它们在设计的过程中也占有相当重要的角色,因为选用正确的集成开发工具,可以加速程序设计的进行、测试与排错,因而对整体进度具有决定性的影响。
就执行平台而言,必须考虑的问题之一是可能使用的操作系统。可能使用的是Windows Linux。 socket是一种用于表达两台机器之间连接“终端”的软件抽象。对于一个给定的连接,在每台机器上都有一个socket,你可以想象一个虚拟的工作在两台机器之间,“”连在两台机器的socket上。当然,物理硬件和两台机器之间的“”这些连接装置都是未知的,抽象的所有目的就是为了让我们不必了解更多的细节。简单的说,一台计算机上的socket同另一台计算机通话创建一个通信信道,程序员可以用这个信道在两台机器之间发送数据。当你发送数据时,TCP/IP协议栈的每一层都给你的数据里添加适当的报头。有个好消息是java语言隐藏了所有这些细节,这也是为什么他们有时被叫做“流socket”。思考一下socket像电话听筒一样在电话的任意一端--你和我通过一个专门的信道来进行通话和接听。会话将一直进行下去直到我们决定挂断电话(除非我们使用蜂窝电话),除非我们挂断电话,否则我们各自的电话线路都会占线。如果你需要在两台机器之间进行通讯而不使用高级机制像ORBs(以及CORBA, RMI, IIOP等等),socket比较适合你。Socket的底层机制则相当棘手。幸运的是,java平台给我们一些虽然简单但是相当强大的高层抽象以至于我们创建和使用socket更加容易一些。一般而言,java socket有下面两种类型:?TCP socket(由Socket类实现,下面的章节我们将对其讨论)?UDP socket(由DatagramSocket类实现)TCP和UDP扮演同样的角色,但是实现是不同的。两者都接收传输协议数据包并把它们传递到表示层。TCP把信息分解成数据包(datagrams)并在接收端重新组装起来。它还对丢失的数据包进行重新传输的请求。TCP减少了上层的担忧。UDP没有组装和重传请求的功能。它只是传输数据包。更高层的层必须确保信息的完整性以及组合顺序的正确性。Socket socket =
您可能关注的文档
最近下载
- 【幼儿园】幼儿园创建“平安校园”实施方案.docx VIP
- 如何才能做到从思想上入党.pdf VIP
- 教学课件:教学设计与教案.ppt
- 浙江农村信用社招聘-2024温州乐清农商银行秋季招聘笔试备考试题及答案解析.docx
- 建筑结构施工图识读教案.pdf
- 2024小红书知识考核试题题库及答案.pdf VIP
- 青岛农业大学基础生物化学期末复习题导学资料.pdf
- 【新版教材】中学音乐人音版七年级下册《领航》课堂教学设计.docx
- 初中语文 2024年新疆乌鲁木齐市沙依巴克区中考语文适应性试卷.pdf
- HIKVISION海康威视白光全彩400万筒型网络摄像机DS-2CD3T46(D)WDV3-L.pdf
文档评论(0)