0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UDP不属于面向连接的通信

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-04-02 10:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

UDP不属于面向连接的通信,在选择协议时,选择UDP必须要谨慎。在网络质量较差情况下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,具有资源消耗小,处理速度快等优点,所以通常音视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。

通过UDP进行信息收发,并没有严格的客户端和服务端之分,它不同于TCP,TCP必须建立可靠连接之后才可以通信,而UDP随时都可以给指定的ip和端口所对应进程发送消息。

UDP发送消息时需要绑定自己IP 和 端口号,接收消息的时候没有特殊限制,只要有人给自己发送,自己在线,就可以接收。

总之,使用UDP协议进行信息的传输之前不需要建立连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,客户端根本不用管。

Server服务端实现代码

using System;

using System.Net;

using System.Net.Sockets;

using System.Text;

using System.Threading;

namespace UdpServer

{

class Program

{

static Socket server;

static void Main(string[] args)

{

server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

server.Bind(new IPEndPoint(IPAddress.Parse("192.168.1.101"), 8001)); //绑定端口号和IP

Thread threadReciveMsg = new Thread(ReciveMsg); //开启接收消息线程

threadReciveMsg.Start();

Thread threadSendMsg = new Thread(sendMsg); //开启发送消息线程

threadSendMsg.Start();

Console.WriteLine("服务端已开启");

}

///

/// 向指定IP的主机端口发送数据报

///

static void sendMsg()

{

EndPoint point = new IPEndPoint(IPAddress.Parse("192.168.1.101"), 8000);

while (true)

{

string msg = Console.ReadLine();

server.SendTo(Encoding.UTF8.GetBytes(msg), point);

}

}

///

/// 接收发送给本机ip对应端口号的数据报

///

static void ReciveMsg()

{

while (true)

{

EndPoint point = new IPEndPoint(IPAddress.Any, 0);//用来保存发送方的ip和端口号

byte[] buffer = new byte[1024];

int length = server.ReceiveFrom(buffer, ref point);//接收数据报

string message = Encoding.UTF8.GetString(buffer, 0, length);

Console.WriteLine(DateTime.Now.ToString() + " Msg From: " + point.ToString() + ":" + message);

}

}

}

}

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    6447

    浏览量

    140246
  • UDP
    UDP
    +关注

    关注

    0

    文章

    335

    浏览量

    35526
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74365

原文标题:C# UDP通讯

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    零知IDE——基于STM32与W5500的UDP通信实现温湿度监控

    /MOSI/CS) 1.4 实物连接图 二、安装与使用部分2.1 开源平台-输入\"W5500的UDP通信\"并搜索-代码下载自动打开 2.2 连接-验证-上传 2.3 调试
    发表于 02-28 16:08

    零知IDE——基于STM32与W5500的UDP通信实现温湿度监控

    。文章包含硬件连接、网络配置、核心代码解析(网络初始化、数据采集、UDP通信等)以及常见问题解答,帮助开发者快速实现项目。项目资源包括调试工具、数据手册和库文件
    的头像 发表于 02-28 15:26 1684次阅读
    零知IDE——基于STM32与W5500的<b class='flag-5'>UDP</b><b class='flag-5'>通信</b>实现温湿度监控

    车载加湿器要做 PSE 认证吗?出口日本合规要求详解

    随着车载小家电在日本市场需求不断增长,车载加湿器成为热门出口产品之一。很多企业在出口前都会问:车载加湿器是否需要办理 PSE 认证?答案是:大多数车载加湿器不属于强制 PSE 认证范围,但需根据供电方式具体判断。
    的头像 发表于 02-25 16:07 193次阅读
    车载加湿器要做 PSE 认证吗?出口日本合规要求详解

    TCP和UDP的区别

    相比,TCP 有三大核心特性: 1、面向连接。所谓的连接,指的是客户端和服务器的连接,在双方互相通信之前,TCP 需要三次握手建立
    发表于 12-09 07:24

    以太网通讯在FPGA上的实现

    的安全。UDP数据格式如下图所示: TCP协议是面向连接的、可靠的流协议,提供可靠的通信传输。TCP数据包包括源、目标端口号字段、顺序号字段、确认号字段、头部长度字段、标志位
    发表于 10-30 07:45

    不同类型的暂态事件(如电压暂降、电压暂升、谐波等)在捕捉方法上有何异同?

    要分析不同类型暂态事件(需先明确:电压暂降、电压暂升、脉冲暂态属于 “短时突发暂态”,而谐波(稳态)不属于暂态事件,仅 “暂态谐波”(如负载突变时的短时谐波)属于暂态范畴)的捕捉方法异同,需先立足
    的头像 发表于 09-26 09:57 845次阅读
    不同类型的暂态事件(如电压暂降、电压暂升、谐波等)在捕捉方法上有何异同?

    esp8266 udp server 端口监听错误的原因?

    1、使用esp8266 at组件+sal socket实现使用udpserver_sample.c demo代码 udp server,通信失败 2、跟踪代码发现 packegs 里面
    发表于 09-23 07:03

    什么是组态屏

    —— 像后续要讲的指令屏和组态屏,只要采用串口连接方式,就能归为串口屏范畴,当然它们也可选择其他接口,比如走以太网的类型就不属于串口屏;指令屏的工作方式则有明确的规则,需要把要显示的内容加上头部、尾部信息以及
    的头像 发表于 09-04 11:34 915次阅读

    请问rt-thread有没有链路层通信的方法?

    与开发板通信上。 我尝试过使用UDP广播,但在IP地址为0.0.0.0,子网掩码0.0.0.0,网关为0.0.0.0无法通信上。 我也尝试了一下raw原始套接字,但也没有用。 在Linux中有一个sockaddr_ll结构体可以
    发表于 09-02 08:00

    第六章 W55MH32 UDP Multicast示例

    本文介绍了在W55MH32芯片上实现UDP组播的原理、应用场景及回环测试方法,并通过实战代码展示了其具体实现过程。下一篇文章将聚焦DNS例程,讲解其工作原理及实现方法,帮助大家更深入地理解网络通信。敬请期待!
    的头像 发表于 07-24 09:19 1330次阅读
    第六章 W55MH32 <b class='flag-5'>UDP</b> Multicast示例

    第五章 W55MH32 UDP示例

    本文介绍了在 W55MH32 芯片上实现 UDP 通信及数据回环测试的方法。阐述了 UDP 协议的概念、特点、应用场景、报文传输流程和报文结构,展示了实现过程,借助网络调试工具完成测试。
    的头像 发表于 07-24 09:13 1352次阅读
    第五章 W55MH32 <b class='flag-5'>UDP</b>示例

    当梦想站上C位:一群“鸿蒙合伙人”点燃HDC,定义属于年轻开发者的时代!

    破土而出,向阳而生! 他们不属于大厂体系,也不依赖旧有路径,但在鸿蒙生态中,他们的选择被尊重,他们的创新被放大。平台不设门槛,也不定义标准答案,鸿蒙只为让技术回归它该有的模样:回应生活、连接人群、创造改变。 打破舞台门槛
    的头像 发表于 06-23 10:10 626次阅读
    当梦想站上C位:一群“鸿蒙合伙人”点燃HDC,定义<b class='flag-5'>属于</b>年轻开发者的时代!

    边缘AI广泛应用推动并行计算崛起及创新GPU渗透率快速提升

    是时候重新教育整个生态了。边缘AI的未来不属于那些高度优化但功能狭窄的芯片,而是属于可编程的、可适配的并行计算平台,它们能与智能软件共同成长并扩展。
    的头像 发表于 06-11 14:57 749次阅读

    未来通信需求如何改写TNC连接器的标准​

    未来通信需求从高频性能、传输效率、尺寸和智能化等多方面改写TNC连接器标准,德索精密工业凭借创新技术和研发实力,在这场变革中持续推动行业发展,为客户提供契合未来通信需求的优质TNC连接
    的头像 发表于 05-23 08:46 693次阅读
    未来<b class='flag-5'>通信</b>需求如何改写TNC<b class='flag-5'>连接</b>器的标准​

    告别连接难题!MCX 插头在通信设备中的实战应用

    自 2005 年成立以来,德索精密工业专注于连接器研发、生产与销售,产品远销全球 81 个国家和地区。公司拥有专业技术团队,通过不断创新与严格质量管控,持续优化 MCX 插头性能,满足通信设备
    的头像 发表于 05-22 08:41 612次阅读
    告别<b class='flag-5'>连接</b>难题!MCX 插头在<b class='flag-5'>通信</b>设备中的实战应用