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