C#一直接收UDP数据

twthame 2014-01-22 09:05:04
需要做一个获取UDP数据的功能
在另一台电脑上,向一台制定的服务器每隔一分钟发送一次UDP数据。
我在这个服务器上可以获得UDP数据,但是目前已经实现的是只能获得一次。
我需要实现的功能是循环获取这个数据,每隔一分钟就会获取一次。
刚开始使用的是定时器来实现的,每隔一分钟调用获取UDP的方法一次
但是好像不太好用
请问大神们是不是可以像QQ那样,有消息了就会自动获取。
可能我的表达不太清楚。请大神们帮忙
...全文
665 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
frdking 2014-01-23
  • 打赏
  • 举报
回复
一直异步监听就行
睡神在睡觉 2014-01-23
  • 打赏
  • 举报
回复
UDP本身就是广播,你的接收端只需要监听指定IP的指定端口就好了,也就是说你的监听会自动捕捉到对方发送的信息,异步解析接收到的数据,一切ok。
xiaozhang0372 2014-01-23
  • 打赏
  • 举报
回复
发送端: UdpClient udpClientSend = new UdpClient(); udpClientSend.Connect(IPAddress.Parse("127.0.0.1", int.Parse(10000));//接收端电脑的IP地址和端口号 udpClientSend.Send(data, data.Length); 接收端: udpClient = new UdpClient(port);//接收端电脑的端口号 IPEndPoint remote = null; while (true) { try { //关闭udpClient时此句会产生异常 byte[] bytes = udpClient.Receive(ref remote); string str = Encoding.UTF8.GetString(bytes, 0, bytes.Length); TextBoxCallback tx = SetTextBox; this.Dispatcher.Invoke(tx, str); } catch { //退出循环,结束线程 break; } finally { udpClient.Close(); } } 发送的时候不要忘了转UTF8
twthame 2014-01-22
  • 打赏
  • 举报
回复
主要是没看明白
ysd_xwl 2014-01-22
  • 打赏
  • 举报
回复
向大家学习来了
a82344626 2014-01-22
  • 打赏
  • 举报
回复
引用 1 楼 human_2000 的回复:
服务端 udpsocket.beginreceiver((.....)
楼上不是说了吗?
twthame 2014-01-22
  • 打赏
  • 举报
回复
请大神们帮忙
twthame 2014-01-22
  • 打赏
  • 举报
回复
请问human_2000服务端指的是发送数据的服务端吗 发送数据那边我无法修改,是服务商弄的,他们只是每隔一分钟向我给他提供的一个IP上发送一个UPD数据
human_2000 2014-01-22
  • 打赏
  • 举报
回复
服务端 udpsocket.beginreceiver((.....)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧