基于 TCP 异步的聊天室程序
话说这个学期我们有一门课叫“中间件”,老师叫我们做一个基于 TCP 的聊天程序,主要结
构如图
1.所有 Client 端需要与 Server 端连接(感觉这句话好白痴,TCP 肯定要连接了才能工作)
2.Client 端的功能是可以群发和私聊(用过 QQ 都应该知道什么是群发和私聊吧),但都
必须经过 Server 端中转,也就是实现了类似通讯中间件的功能。
PS:开始写之前我是对网络编程这块完全没有认识的,上网找了几个 TCP 的程序,都是只
能实现群发功能,或者只能实现 client 与 server 之间相互发的功能,
还没有哪个是可以实现上面所说的功能的程序的(如果有的请留言给我,我去下一个下来学
习一下,O(∩_∩)O 谢谢)。
实现方法有好多,用 Socket 类可以实现,用 TcpClient 类和 TcpListener 类也可以实现,
我就选择了后者,因为比较简单。
下面就列一下我用到的技术:
多线程,异步回调,委托,设计模式的观察者模式…………
先让大家看一下客户端和服务器端的界面先吧(本人不会做界面,而且界面上有很多 Label
是用来检查接收的情况,请大家选择性过滤掉)