您的位置:首页 > 理论基础 > 计算机网络

C#之TCP消息的发送和接受

2011-04-02 16:02 232 查看
这段时间在为下个项目作准备,之前也做过类似的项目,瓦斯的预警监控系统,当时为了同步UI和SQL用了Socket编程,当时根据实际情况选择了UDP方式的消息发送和接受机制,这种广播发送消息的形式虽然很快捷但是同时也存在丢包的问题,当然在局域网内这种情况还是很少出现的,所以在之前的项目中一直也没出现问题。其实用了UDP很自然的就会想在以后的项目中会不会使用TCP来实现此类功能。TCP是点到点的转送方式,通常我们也知道TCP/IP协议的三次握手、四次挥手,虽然感觉比UDP麻烦很多,不过这种方式却可以确保信息的安全到达,UDP只管把消息发出,不管有没有接受到,而TCP是把消息发出去之后等待回应,如果没有发送成功可以再次发送,确保每次发送的成功率,在追求时效性的时候应该选择UDP。总之他们各有千秋。(哈哈哈哈,感觉挺废话的!!)

研究了一下TCP,然后呢,感觉方便以后的使用,就把TCP的一些方法和类封装成了DLL,可以在以后的项目中直接去使用,需要新的需求可以不断的去完善DLL的版本,算是长久使用之计吧。

在这个DLL里面定义TCP服务器端的数据的异步接受和发送,同样客户端也是包括了数据的接受和发送,同时定义了接受数据时需要触发的事件。可能还有很多地方需要完善吧,这个可能等到到用到项目中时候才知道需要完善哪些东西。

花了点时间编写和测试,最后做了一个测试案例,哈哈,看看效果的截图吧。



服务端保存所有连接到他的客户端,然后可以对针对每个客户端进行发送数据,在测试案例中就是在自己的电脑上测试的,没有用别的电脑,其实还可以在服务器的UI中下个Combox,显示所以的客户端的IP,然后选中一个,进行定点的数据发送。呵呵。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: