基于SCRPTCPIP的TCP-Chatroom多平台聊天系统开发

需积分: 9 0 下载量 187 浏览量 更新于2024-12-11 收藏 163KB ZIP 举报
资源摘要信息:"tcp-chatroom是一个多用户消息传递系统,其客户端和服务器端采用多种编程语言实现,并使用了TCP/IP协议栈。项目目前仍在开发中,支持在线即时消息传递功能。以下是详细介绍: 1. 项目描述: - TCP/IP协议栈:使用传输控制协议/互联网协议,是实现网络通信的基础,用于跨网络的数据传输。 - 多平台支持:该项目支持多种编程语言开发,意味着它能够在不同的操作系统和硬件平台上运行,提供了良好的跨平台兼容性。 - SCRPTCPIP协议:虽然文件描述中没有详细说明该协议,但推测可能是指一种与平台无关的自定义协议,用于客户端和服务器之间的通信。 - TLS安全传输:提供了一种基于传输层安全(TLS)的加密通讯方式,为传输的数据提供了安全保护,防止数据被截获或篡改。 - Unicode支持:意味着系统支持各种语言字符的传输,方便不同语言用户之间的交流。 2. 功能特点: - 用户帐号管理:系统提供用户注册、登录功能,保证了用户身份的唯一性和安全性。 - 好友列表:用户可以添加好友,建立社交网络。 - 私人和团体交流:支持一对一的私聊以及多人参与的群聊。 - 公共和私人房间:可以创建公共聊天室供所有用户加入,也可以创建私人聊天室只允许特定用户加入。 - 聊天记录漫游:聊天记录可保存并在不同设备间同步,方便用户回顾历史信息。 - (TBD)富文本消息:未来版本可能支持发送带有格式的富文本消息,如带有颜色、大小、字体等的文本。 - (TBD)基于TLS的安全传输:未来版本将加强对消息传输的安全性,确保通信的私密性。 3. 编程语言和框架: - 虽然【标签】中指出"Python",但文件描述暗示该系统支持多种编程语言。因此,客户端和服务器端可能是用不同的语言编写的,以适应不同的平台和开发需求。 - 对于Python语言的使用者,这意味着有机会在Python环境下开发与该聊天室系统的集成或扩展功能。 4. 开发和许可证: - 项目尚处于开发阶段,这意味着目前提供的客户端和服务器程序可能为原型版本,尚未完全完成所有功能。 - 该软件获得了GNU通用公共许可证(GNU GPL)的许可,这是一款广泛使用的自由软件许可证,允许用户自由地使用、修改和分发软件,同时要求任何衍生作品也必须开源且自由。 5. 压缩包子文件的文件名称列表: - tcp-chatroom-master:表明源代码存储在一个名为tcp-chatroom-master的文件夹内,这是版本控制系统的主分支,开发者在此基础上进行开发和维护。 综上所述,tcp-chatroom是一个提供多用户在线即时消息传递服务的系统,它使用TCP/IP协议栈和多种编程语言开发,旨在构建一个安全、跨平台且具有丰富功能的聊天环境。随着开发的不断进展,未来可能还会加入更多用户期待的功能,如富文本消息支持和更高级的安全特性。"
2010-01-02 上传
里面包含聊天室的客户端和服务器端的源文件和一份完整的设计报告。 一、 系统概要 本系统能实现基于VC++的网络聊天室系统。有单独的客户端、服务器端。 服务器应用程序能够接受来自客户端的广播,然后向客户端发送本机的IP与服务端口,让客户端接入到服务器进行聊天,检测用户名是否合法(重复),服务器责接收来自客户端的聊天信息,并根据用户的需求发送给指定的人或所有人,能够给出上线下线提示。客户端能够发出连接请求,能编辑发送信息,可以指定发给单人或所有人,能显示聊天人数,上线下线用户等。 二、 通信规范的制定 服务请求规范: 服务器端: (1) 创建一个UDP的套接字,接受来自客户端的广播请求,当请求报文内容为“REQUEST FOR IP ADDRESS AND SERVERPORT”时,接受请求,给客户端发送本服务器TCP聊天室的端口号。 (2) 创建一个主要的TCP协议的套接字负责客户端TCP连接 ,处理它的连接请求事件。 (3)在主要的TCP连接协议的套接字里面再创建TCP套接字保存到动态数组里,在主要的套接字接受请求后 ,就用这些套接字和客户端发送和接受数据。 客户端: (1) 当用户按“连接”按钮时,创建UDP协议套接字,给本地计算机发广播,广播内容为“REQUEST FOR IP ADDRESS AND SERVERPORT”。 (2)当收到服务器端的回应,收到服务器发来的端口号后,关闭UDP连接。根据服务器的IP地址和端口号重新创建TCP连接。 故我思考:客户端一定要知道服务器的一个端口,我假设它知道服务器UDP服务的端口,通过发广播给服务器的UDP服务套接字,然后等待该套接字发回服务器TCP聊天室服务的端口号,IP地址用ReceiveForom也苛刻得到。 通信规范 通信规范的制定主要跟老师给出的差不多,并做了一小点增加: (增加验证用户名是否与聊天室已有用户重复,在服务器给客户端的消息中,增加标志0) ① TCP/IP数据通信 --- “聊天”消息传输格式 客户机 - 服务器 (1)传输“用户名” STX+1+用户名+ETX (2) 悄悄话 STX+2+用户名+”,”+内容+ETX (3) 对所有人说 STX+3+内容+ETX 服务器- 客户机 (0)请求用户名与在线用户名重复 //改进 STX+0+用户名+EXT (1)首次传输在线用户名 STX+1+用户名+ETX (2)传输新到用户名 STX+2+用户名+ETX (3)传输离线用户名 STX+3+用户名+ETX (4)传输聊天数据 STX+4+内容+ETX (注:STX为CHR(2),ETX 为CHR(3)) 三、 主要模块的设计分析 四、 系统运行效果 (要求有屏幕截图) 五、 心得与体会