ibcadmin 发表于 2012-12-21 17:55:07

C#UDP例题学习-C#初识UDP(三)

这节课讲解一下UDP的实例,供参考
转自C#程序员之窗
在本地运行本程序的三个进程(分别为A,B,C),把进程C做为接受进程,进程A和进程B都向进程C发信息,进程A和进程分别绑定端口号为11883和21883,发送到端口都为51883,配置界面如下:
http://pic002.cnblogs.com/images/2012/383187/2012090117452319.png
首先不勾选“匿名”复选框,在进程C中点击“接收”按钮开启接受线程,在A进程和B进程中发送消息框里分别输入你好,我是1和你好,我是2 ,然后点击发送按钮,此时在进程中就可以看到进程A和进程B发来的消息,如下图:
http://pic002.cnblogs.com/images/2012/383187/2012090117481368.png
从图中可以看出每条消息之前都显示了消息的准确来源(包括消息进程锁在的Ip地址和端口号)
匿名发送:
下面把“匿名”复选框勾上后,再按照前面的步骤将得到下面的结果:
http://pic002.cnblogs.com/images/2012/383187/2012090117520126.png
从图中结果可以看出此时列表中显示的消息来源的进程端口号分别为49439和49440,而不是发送消息进程的真实端口(11883和21883)
这种UDP只能辨别消息源主机的Ip地址,而无法知道发消息的进程究竟是哪个端口称为“匿名发送”。正如我们平时发手机短信一样,如果我们把认识的名字和电话号码预先存在通讯录里,当一发来信息,接受方马上就可以从来电显示中看到是谁发来的(实名模式);但是如果是陌生人发来信息或者广告等信息时,仅看来电显示,根本不知道对方是谁(匿名模式),QQ发消息也是一样的道理。

chao2332601 发表于 2013-6-16 03:27:50

谢谢分享!!!

ximing104 发表于 2018-11-7 11:05:42

WO AI FA SONG
页: [1]
查看完整版本: C#UDP例题学习-C#初识UDP(三)