下载后可任意编辑一、 背景知识 在传统生活里,人们利用写信、电话等方式联络,但此类方式周期缓慢,呆板且不可靠。在这个信息极其发达的时代,随后我们可以用来进行信息沟通的方法日益增多,比如电报、电话、电子邮件、OICQ 等通讯手段,但是这些或者不方便或者有局限性或者有费用的问题。 近年来计算机技术的快速进展,特别是计算机网络的进展,越来越深刻的改变了人们生活的方方面面,使得人们能以更低廉的价格,开发出更方便、更有用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系和沟通方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。 网络聊天室凭借其友好的外观、强大的功能、使用的便利、联系的及时等特点博得现代人的青睐,其应用的市场十分宽阔。本系统使用的是 C/S 模式,使用 C#进行聊天室的设计与开发。 本文主要介绍了所应用到的技术的基础知识,并探讨了建立聊天室的设计思想、方法与功能实现流程图。本文所实现的聊天室具有良好的人机交互界面、合理的数据库结构可以实现发言、自动显示所在聊天室的成员等交互功能,经过测试调试,证明可实际应用。下图为网络聊天室的主界面图 1 网络聊天室主运行界面图二、 核心算法思想- 1 -下载后可任意编辑实现一个基于 Socket 的简易的聊天室,实现的思路如下:聊天室服务器端启动服务器时,将创建侦听套接字,创建用户列表,创建并启动侦听线程。用户登录时,将创建套接字,与服务器直接连接,并创建客户端接收线程。服务器端侦听到有用户上线后,将创建新的用户节点,并在主界面上显示用户上线,发送新的用户列表。客户端发送信息时,将要发送的内容进行发送。服务器端发送信息时,假如是发送给所有人,就遍历用户链表,假如是发送给某个用户,先在链表中找到该节点,再发送信息。服务器端和客户端接收信息时,先读取聊天信息标识,做出推断后,依次读取信息处理信息,并在主界面上显示,服务器端还要将准备好的信息发送给指定的用户。开启客户端主界面后,就会启动文件接收侦听线程,假如有用户发送文件至此,将会有信息提示,确定接收后,将启动文件接收线程,对方用户端将启动文件发送线程。服务器端侦听到有用户下线后,将删除该用户节点,并在主界面上显示用户下线,发送新的用户列表。服务器端停止服务后,也会向客户端发送服务器已关闭的信息,客户端将不再可以聊天。程序的结构:多个客户端+一个...