c#的socket实现udp协议通信

c#的socket实现udp协议通信

ID:17018239

大小:32.50 KB

页数:4页

时间:2018-08-26

c#的socket实现udp协议通信_第1页
c#的socket实现udp协议通信_第2页
c#的socket实现udp协议通信_第3页
c#的socket实现udp协议通信_第4页
资源描述:

《c#的socket实现udp协议通信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、今天稍花化了一点时间,利用C#的Socket验证了UDP的通信,为接下来特地利用UDP做个分布式的通信仿真系统打下基础。众所周知,UDP就是用户数据报协议,在互联网参考模型的第四层——传输层。与TCP协议同层,都是提供信息的传输服务,但与TCP最大区别就是,它是一种无连接不可靠的信息传输。什么是无连接不可靠?直白点讲就是,发送数据的时候,直接把UDP包往网络一扔就完事了,接不接受收到发送的就不理了;接受数据的时候,有发给本地的UDP包就照单全收,收完再看是谁发的。相比TCP,少了握手建立连接,维护连接,连接

2、释放等一系列过程,因此具有很小的资源消耗和处理速度快的优点。好了说了一堆废话,开始讲怎么利用C#中Socket进行UDP通信。TCP、UDP应用程序可以通过TCPClient、TCPListener和UDPClient类进行编程,而这些协议类也建立在System.Net.Sockets.Socket类的基础上,并无需理会数据传送的细节。但为了更好地理解Socket编程,这里还是利用了Socket类进行UDP通信编程。UDP应用上已经无严格意义上的真正的服务器和客户端之分了,端点之间都是平等的关系,因此进行通

3、信只需编写一个程序即可。下面给出关键部分代码与说明:1、关键的全局变量1privateIPEndPointipLocalPoint;2privateEndPointRemotePoint;3privateSocketmySocket;4privateboolRunningFlag=false;2、获取本地IP的方法5privatestringgetIPAddress()6{7//获得本机局域网IP地址8IPAddress[]AddressList=Dns.GetHostByName(Dns.GetHostN

4、ame()).AddressList;9if(AddressList.Length<1)10{11return"";12}13returnAddressList[0].ToString();14}3、IP与端口号有效验证15privateintgetValidPort(stringport)16{17intlport;18//测试端口号是否有效19try20{otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirect

5、orofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmi

6、ssions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand1//是否为空2if(port=="")3{4thrownewArgumentException(5"端口号无效,不能启动DUP");6}7lport=System.Convert.ToInt32(port);8}9catch(Exceptione)10{11//ArgumentExcep

7、tion,12//FormatException,13//OverflowException14Console.WriteLine("无效的端口号:"+e.ToString());15this.tbMsg.AppendText("无效的端口号:"+e.ToString()+"");16return-1;17}18returnlport;19}202122privateIPAddressgetValidIP(stringip)23{24IPAddresslip=null;25//测试IP是否有效26try

8、27{28//是否为空29if(!IPAddress.TryParse(ip,outlip))30{31thrownewArgumentException(32"IP无效,不能启动DUP");33}34}35catch(Exceptione)36{37//ArgumentException,38//FormatException,39//OverflowException40Console.WriteLine("

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。