1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UDP编程终

UDP编程的具体实现 ?由于UDP进程在通信之前是不需要建立连接,消息接收方可能并不知道是谁给它发的消息,因此UDP编程分为两种模式:一种“实名发送”,即接收方可以由收到的消息得知发送方进程端口,另外一种则为“匿名发送”,即接收方并不知道发给它信息的远程进程究竟来自哪个端口。 在本地运行本程序的三个进程(分别为A,B,C),把进程C做为接受进程,进程A和进程B都向进程C发信息,进程A和进程分别绑定端口号为11883 和21883,发送到端口都为51883,配置界面如下: 首先不勾选“匿名”复选框,在进程C中点击“接收”按钮开启接受线程,在A进程和B进程中发送消息框里分别输入你好,我是1和你好,我是2?,然后点击发送按钮,此时在进程中就可以看到进程A和进程B发来的消息,如下图: 匿名发送: 下面把“匿名”复选框勾上后,再按照前面的步骤将得到下面的结果: static void Main(string[] args) { string m_hostIP = ; int m_port = 6666; IPEndPoint m_EndPoint; ArrayList memberlist = new ArrayList(?); bool rt = false; byte[] data; string m_ReturnData; //从命令行提取主机IP和端口 if (args.Length 2) { Console.WriteLine(Usage: UDPServer hostIP port); } else { m_hostIP = args[0].ToString(?); m_port = int.Parse(args[1].ToString(?)); rt = true; } if (rt) { mblist = new ArrayList(?);//组成员列表 IPAddress m_ipA = IPAddress.Parse(m_hostIP); m_EndPoint = new IPEndPoint(m_ipA,m_port); m_server = new UdpClient(m_EndPoint); Console.WriteLine(Ready for Connect......); while (true) { data = m_server.Receive(ref m_EndPoint);//接收数据 m_ReturnData = UDPComm.UDPComm.DecodingASCII(data); if (m_ReturnData.IndexOf(ADD)-1)//加入组 { AddMember(m_EndPoint); Console.WriteLine(m_EndPoint.ToString(?)+ has added to group!); } else if (m_ReturnData.IndexOf(DEL)-1)//退出组 { DelMember(m_EndPoint); Console.WriteLine(m_EndPoint.ToString(?) + has deleted from group!); } else

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档