C#如何实现TCP和UDP通信


本篇内容主要讲解“C#如何实现TCP和UDP通信”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#如何实现TCP和UDP通信”吧!C#在命名空间System.Net.Sockets中对伯克利套接字提供了良好的封装,提供了完善的TCP和UDP通信功能。从编程的角度出发,TCP和UDP最大的区别是,TCP存在TcpClientTcpLinster两个对象用于信息的传递,二者一发一收,十分完备。而UDP则只有一个类UdpClient,换言之,UDP通信是不分服务端和客户端,通信双方对等。至少在形式上,UDP比TCP更简单,所以先从UDP讲起。考虑到通信那肯定是有发有收才行,如果只用C#自己,那么肯定得上个多线程什么的才能跑通。为了避免问题复杂化,故推荐使用这款NetAssist网络助手。有了这个,只要在C#里写一套发送代码,就可以在NetAssist上看到发送的内容,比较实用。又因为采用顶级语句,导致用下面这区区几行代码就可以完成一次套接字编程的实践,非常划算效果为在网络中,两个电脑要想通信,那么必须要知道彼此的位置,而在网络中描述一个计算机的位置,用的就是IP地址。但光有一个地址还不行,计算机要处理这么多任务,接收这么多服务,在IP地址之外还得有个端口才可以。这种感觉大致相当于,IP是一栋楼,端口就是门牌号。而127.0.0.1是一个特殊的地址,即主机环回地址,很好理解,就是指向本地的地址,有了这个,就可以自己和自己通信了。发送和接收看上去是对偶,但难度上完全是两回事,这种感觉就像你给女神发消息,其实很方便,按下发送键就完事儿了。但你等女神的消息,那就比较煎熬,因为你不确定她什么时候会免费云主机域名发过来,所以得一直等着。所以,接收比发送麻烦多了,最起码得有一个死循环,如果对方没消息,就死等。其中udp.Receive就起到死等的作用,如果收不到,程序就不执行,最后结果如下UDP协议的好处是,UdpClient包打天下,既可以发送也可以接收,而发送者和接收者的身份,需要通过端口号来区分。TCP则不然,TCP本身分为服务端和客户端,服务端在C#中用TcpListener类来实现,观其名而知其义,服务端的作用是监听,相应地客户端TcpClient用于发送。其通信逻辑是,客户端将发送工具和消息内容一起发送给服务端,服务端再用客户端自己的发送工具进行回信。NetAssist同样提供了TCP的发送和接收功能,为了让C#代码相对简单,这里先选择服务端,即TCP Server,端口选择9002,接下来仍用最短的代码来演示一下C#的TCP发送功能,需要注意客户端和服务端的端口需要统一一下。效果如下TCP的接收从逻辑上来说要比UDP更高级一点,毕竟TcpListener又称服务端,名义上来说要服务于所有人。上面代码中,serv.AcceptTcpClient()根据监控到的信息,返回一个新的客户端对象;c.GetStream()返回一个网络流对象,和其他Stream一样,通过Read方法,可以将二进制数据写入到字节数组中。效果如下到此,相信大家对“C#如何实现TCP和UDP通信”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: 如何用C语言代码实现商品管理系统开发

这篇文章主要讲解了“如何用C语言代码实现商品管理系统开发”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用C语言代码实现商品管理系统开发”吧!商品管理系统主要是对商品的基本信息进行增、删、改、查以及商品的插入…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/21 11:51
Next 05/21 11:51

相关推荐