[C#] 接收和发送UDP数据
在C#里面,处理UDP通讯最简单的方法就是使用UdpClient。具体使用方法我也不赘述了,在msdn上就有。需要注意的问题有:
1、UDP通讯在发送的时候可以绑定任何本地端口,但是在接收的时候需要在本地绑定广播或者多播端口。
2、组播的时候发送和接收双方都需要JoinMulticastGroup。参数timeToLive名字很容易让人误会,其实它指的是允许UDP数据穿过几个路由器(当然还要路由器允许组播包通过才行);在WinSock API当中,这个参数一般叫做scope,我觉得是比较合适的参数名字;如果你不明白或者没有特别的需要,把这个参数设为5就可以了。
3、UdpClient的发送和接收都是无限阻塞的。这让编程变得更容易,但是也会带来一些麻烦。发送的问题倒不大,因为发送UDP数据基本上不会阻塞。不过接收就不一样了,最好是单独起一个线程进行接收动作,然后在需要停止接收的时候,先UdpClient.Close()再Thread.Abort()。
如果需要更灵活的控制,那么就不要使用UdpClient,改为直接使用Socket就可以了。稍微麻烦一点,不过道理一样的。
附带说一下:点对点传大量UDP数据的时候,先调用connect方法可以节省不少时间
转载于:https://www.cnblogs.com/94cool/archive/2011/09/03/2165809.html
[C#] 接收和发送UDP数据相关推荐
- qt定时连续发送udp数据包_TCP和UDP
首先强调一点,TCP/IP协议是一个协议簇.里面包括很多协议的,UDP只是其中的一个, 之所以命名为TCP/IP协议,因为TCP.IP协议是两个很重要的协议,就用他两命名了. 两个协议的区别实际使用时 ...
- Android客户端通过TCP接收服务器端发送的数据
引言 因为我确实不懂TCP通信这一块儿,最近项目中要实现客户端接收服务器端发送过来的数据(这个数据是int型的,范围是0~360,而且服务器端用C语言写的,每一秒发送一次,客户端只需要不断接收就好了) ...
- Java:PC端作为客户端连接蓝牙设备并接收蓝牙发送的数据
感谢:(1)PC端蓝牙开发 https://www.cnblogs.com/zeussbook/p/12827479.html https://blog.csdn.net/svizzera/arti ...
- 原始套接字SOCK_RAW发送UDP数据包
使用原始套接字发送udp数据包,从传输层封包到链路层(mac头+ip头+udp头).udp数据包,从传输层封包到链路层(mac头+ip头+udp头). head.h文件如下: #ifndef _HEA ...
- linux send 失败_求助:sendto()发送UDP数据包失败:message too long该如何解决?
求助:sendto()发送UDP数据包失败:message too long该如何解决? 发布时间:2012-03-24 23:17:25来源:红联作者:zhl2001xlh800 我想使用sendt ...
- 【Linux网络编程】原始套接字实例:发送 UDP 数据包
以太网报文格式: 详细的说明,请看<MAC 头部报文分析>. IP 报文格式: 详细的说明,请看<IP 数据报格式详解>. UDP 报文格式: 详细的说明,请看<UDP ...
- linux串口编程实例_Linux 网络编程——原始套接字实例:发送 UDP 数据包
以太网报文格式: IP 报文格式: UDP 报文格式: 校验和函数: /*******************************************************功能:校验和函数参 ...
- form data怎么接收_VUE发送Formdata数据,NodeJS接收
VUE发送Formdata数据 •参数blob是通过this.cropper.getCroppedCanvas().toBlob(blob => { });获取到的.•具体使用方法,参考此链接地 ...
- stm32接收OpenMv发送的数据,并用oled屏显示
自己备赛的过程中遇到了一些问题,网上找了很久才总结出来,openmv通过串口发送数据,stm32进行接收并显示在液晶屏上,亲测可用. 使用设备stm32f103zet6,液晶屏为四线 感谢拾牙慧者提供 ...
最新文章
- /var/lib/docker/overlay2/xxxxx no such file or directory docker文件删除引发的问题
- matlab GUI 初学
- Struts2框架原理
- Fegion-3覆写Fegion的默认配置及Fegion的日志
- VC++中进程与多进程管理的方法[转]
- 互金策略若干问题(全)
- 【leetcode】25. Reverse Nodes in k-Group 链表按K分段逆序
- 编译SONiC交换机镜像(转,参考2)
- 动态规划(Dynamic Programming)理论篇
- 看懂Oracle的执行计划
- win10局域网加入工作组计算机,Win10专业版加入局域网工作组的技巧
- 卷积神经网络以LeNet网络为例的手写体识别
- SD卡数据被误删除该怎么恢复?
- django-查询语句(一)
- 高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化
- 设计模式-适配器模式(类适配器、对象适配器、接口适配器详解)
- 神经机器翻译(Neural machine translation, NMT)学习笔记
- 电脑重启f12怎么处理_联想电脑开机按f12后,怎么设置默认启动项
- Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配
- 高性能,高扩展,高可用架构