电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

LINUX下网络即时聊天程序VIP免费

LINUX下网络即时聊天程序_第1页
1/12
LINUX下网络即时聊天程序_第2页
2/12
LINUX下网络即时聊天程序_第3页
3/12
基于TCP 协议的简易网络聊天程序 一、设计原理: 即时通信(IM)是指能够即时发送和接收互联网消息等的业务。 自 1998 年面世以来,特别是近几年的迅速发展,即时通信的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。本课题实现简单的及时通讯中的聊天服务。 问题定义: 本课题要解决的问题是提供用户自由向另外一个不同的用户发消息的同时接收来自其他用户的消息。 2. 可行性研究: 要实现即时通讯的聊天模块,可以在 LINUX 下搭建服务器,在提供给用户客户端程序。客户端和服务器之间通过 TCP 协议实现在线聊天。 需求分析: (1)为了实现即时通讯的聊天服务,聊天服务器必须能够同时接入多个用户,所以要支持并发,允许同时在线客户端数量至少大于3 个。(2)要求服务器能接收多个用户的接入请求同时处理已经建立连接的用户的操作。(3)接收用户发过来的信息。(3)正确转发信息到达正确的用户。(4)提供简单的用户操作指令比如显示实时在线的用户。 (5).来自不同用户的信息的转发的同步控制(6)。给每个用户一个唯一的ID。 4. 总体设计 首先我们应该在设计 LINUX 平台设计服务器并且 C 语言编程。在实现并行处理时可以使用多进程也可以使用多线程,多线程可以方便的实现不同连接间简易的通信,系统开销小所以这里选用它。在连接的协议选择上,因为传送数据量小,这里选择面向连接可靠传输的TCP 协议,相比将套接字嵌入 FILE 留种,这里使用调用常用的tcp 的套接字 API(send,recv )读写缓冲区实现连接的方法. 5.详细设计 客户端:首先用户提供服务器 IP 和端口,然后创建套接字并连接到服务器,连接成功给予操作界面。设计用户登陆接口函数,发送名字用于登陆处理。主进程挂载随时接收用户键盘输入,并调用 SEND()函数处理发送和指令操作。创立一个线程用于挂载阻塞的recv ();将收到的信息打印。 服务器:服务器创建通用的服务器套接字绑定 IP 和端口,主进程监听和循环接受客户端接入请求。接入用户后创建线程传入套接字,并接收用户的登陆。登陆处理后讲该线程绑定一个用户 ID,并创建一个线程用于挂载 RECV();第一个线程处理要发给本连接绑定用户的转发服务。同时设计在线用户的更新和打印处理。使用互斥锁来解决写...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

LINUX下网络即时聊天程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部