- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络课程设计报告doc
《计 算 机 网 络》
课
程
设
计
报
告
题 目 : 简 易 聊 天 室
姓 名 :
学 号 :
班 级 :
问题描述和设计思想
问题描述
在网络越来越便捷的今天,人们对网络的依赖也越来越多,越来越离不开网络,由此而产生的聊天工具也越来越多,其中应用比较广泛的有Netmeeting、MSN-Messager、腾讯QQ,等等。此类软件使得人们运用连上Internet网的电脑用户可以随时跟另外一个在线网民交谈,甚至可以通过视频看到对方的适时图像,互相讨论。使得人们不需要聚集在同一地点,不必担心昂贵的话费而畅快交流,工作、交流两不误。而且好的聊天室还有各种表情符号等可以加强我们的表达。而且费用低廉,信息交流速度快,在这个涌动的社会中加强联系,创造出更多的财富。在此基于Java网络编程的强大功能编写一个简易聊天室系统。
一般来说,聊天工具大多数由客户端程序和服务器端程序组成,本系统采用客户机/服务器架构模式通过Java·提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天。因此使用Java的异步通信功能,实现网络通信的课程设计。
功能要求:
有一个聊天服务器,存储帐户信息;
用户向服务器发送含有账户名的消息,服务器接受连接后,将账户名及其IP、端口记录下来,并刷新用户的账户列表;
服务器监控聊天内容
支持多人聊天,聊天时列出当前所有在线的人员;
客户端之间可以单独发送消息;
支持图片表情;
保存用户聊天信息
设计思想
Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。而且,Java很小,不需要占用多大内存。
因此运用JAVA程序编写聊天室,实现简单聊天功能。本次课程设计做的是Java简单聊天室,它是图形界面、线程、流与文件等技术的综合应用。
在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。
服务器端工作流程:
服务器端通过系统调用创建一个ServerSocket与指定的本地端口绑定,就可以在端口进行侦听。如果有客户端连接请求,则创建一个Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。客户端工作流程:
客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。
Socket程序的工作过程:
建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接道。
数据通信:利用虚拟连接通道传送数据信息进行通信。
关闭:通信结束时,再将所建的虚拟连接拆除。
三、采用的主要技术、遇到的难点和解决方法
主要技术
操作系统:Windows xp
开发工具:eclipse3.2及其VE插件
开发工具:Eclipse
使用GUI界面设计
Java Swing技术
遇到的难点和解决
难点:表情信息的传送
解决:通过对发送消息进行解析,提取出表情图片的信息进行顺序输出。 四、核心代码描述和相关技术说明
4.1 界面设计
本程序采用的是Java swing 图形界面开发工具包来设计的,建立一个主类Client.java,然后在其构造方法加载程序所需的组件,设置布局方式(采用的是Boxlayout布局管理器)。
构造方法如下:
private void init() {
box = Box.createVerticalBox(); // 竖结构
Box box_1 = Box.createHorizontalBox(); // 横结构
Box box_2 = Box.createHorizontalBox(); // 横结构
Box box_3 = Box.createHorizontalBox(); // 横结构
box.add(box_1);
box.add(Box.createVerticalStrut(8)); // 两行的间距
box.add(box_2);
box.add(Box.createVerticalStrut(8)); // 两行的间距
box.ad
文档评论(0)