第四阶段C#通讯开发-6:Socket之UDP

1_Socket

(1)Socket即套接字,其实就是一个"外壳",是对网络中不同主机上的应用程序之间进行双向通信的断点的抽象,一个套接字就是网络上进程通信的一段,提供了应用层进程利用网络协议交换数据的机制。

(2)概括:Socket是套接字,本质它是对TCP和UDP做一层封装。让开发者在使用TCP和UDP等协议时,不用关注协议底层原理,使用时更方便。 实质就是,Socket就是【应用层与TCP/IP协议簇通信的中间软件抽象层】。将传输层封装后便与应用层更方便的调用。

(3)C#有Socket类,可以实现TCP和UDP通讯。但.NET Framework框架通过TcpListener类、TcpClient、UdpClient类、这几个类对Socket进行了封装。所以建议使用具体的类。

2_UDP

UDP通讯: https://www.cnblogs.com/seabluescn/p/12972417.html https://blog.csdn.net/u012563853/article/details/126307114

UDP异步发送: https://blog.csdn.net/zhukangle/article/details/72865560

并行编程: https://zhuanlan.zhihu.com/p/448093864

3_协议概念简述?

TCP:Transmission Control Protocol传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。 UDP:User Datagram Protocol用户数据报协议,是一种无连接、不可靠、面向数据报的传输层通信协议。 Socket:套接字,是【应用层与TCP/IP协议簇通信的中间软件抽象层】。将传输层封装后便与应用层更方便的调用。

4_TCP与UDP基本区别?

  • TCP基于连接,UDP无连接。

  • TCP要求系统资源较多,UDP较少。

  • UDP程序结构较简单。

  • 流模式(TCP)与数据报模式(UDP)。

  • TCP保证数据正确性,UDP可能丢包。

  • TCP保证数据顺序,UDP不保证。

5_UDP通讯过程?

  • 创建一端。使用UdpClient,特别提醒:使用IPEndPoint类

  • 发送数据到另一端。使用udpClient.Send()

  • 启动另外一端。使用UdpClient

  • 在另外一端接收数据,Task.run(), udpClient.Receive()

6_总结:

1.网络协议理论:(七层网络框架,TCP协议,UDP协议,工业行业协议等) 2.网络协议重要理论:(TCP建立连接时三次握手,TCP释放连接时的四次挥手,TCP与UDP基本区别等) 3.各种网络通讯技术点:(Socket通讯、TCP通讯、UDP通讯)

TCP和UDP是协议,而Socket是一种技术框架。

相关推荐
Ray Liang8 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Scout-leaf3 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530143 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
mudtools5 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的5 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21885 天前
.NET 本地Db数据库-技术方案选型
windows·c#
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
lindexi5 天前
dotnet DirectX 通过可等待交换链降低输入渲染延迟
c#·directx·d2d·direct2d·vortice
feifeigo1235 天前
matlab画图工具
开发语言·matlab
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习