首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

UDP 通信时的,关于连接的有关问题

2012-09-23 
UDP 通信时的,关于连接的问题。初始化:C# code UdpClient udp new UdpClient(5000)下面是连接设备代码:C

UDP 通信时的,关于连接的问题。

初始化:

C# code
 UdpClient udp = new UdpClient(5000);


 下面是连接设备代码:
C# code
  ip: 远程设备的地址: 192.168.7.100  port 远程: 3000 public byte[] DeviceComunicationTest(string ip,int Port,  byte[] Cmd, int len)        {                     udp.Connect(ip, Port);            udp.Send(Cmd, len);            byte[] receive = new byte[256];            return UdpReceiveData(ip, port);// 接受设备返回数据                  }

接受返回数据:

 
C# code
 public byte[] UdpReceiveData(string ip,int LocalPort)        {              ipadr = new IPEndPoint(IPAddress.Parse(ip), LocalPort);                  return udp.Receive(ref ipadr);                    }  



按钮动作;

 
C# code
 byte[] receive = new byte[256]; receive = DeviceComunicationTest(xx,xx,xx);           //   处理 receive返回来的数据 


上面代码是正常的

现在我不想,每次每次发送命令时,都做一次连接动作,于是将
 
C# code
 udp.Connect(ip, Port); 

 这句代码,放到了form_load()里

 这样问题就来了,,,
 
C# code
 public byte[] UdpReceiveData(string ip,int LocalPort)        {              ipadr = new IPEndPoint(IPAddress.Parse(ip), LocalPort);                  return udp.Receive(ref ipadr);            //代码死在上面这句上了        }  



 难道每次,发送命令都要连接一次? 在另个个帖子里,有大侠说不要每次连接
 但是直接屏蔽掉 udp.connect(ip,port) 这句也不行

 如何整才能不要每次都 connect()?

谢谢



[解决办法]
发现搞硬件都开始学c#了。
msdn有例子。搬过来就可以用。不用费心自己写。msdn介绍的相当详细。
[解决办法]
没发现代码问题啊。。。。。。。。。
[解决办法]
UDP是无连接的。那个顶多算配置目标信息
[解决办法]
探讨
UDP是无连接的。那个顶多算配置目标信息

[解决办法]
封装一下吧

热点排行