第四阶段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是一种技术框架。

相关推荐
Lucky小小吴1 分钟前
java代码审计入门篇——Hello-Java-Sec(完结)
java·开发语言
中屹指纹浏览器2 分钟前
2025技术解析:分布式指纹协同管理技术底层实现与规模化运营逻辑
经验分享·笔记
csbysj20208 分钟前
XML 技术
开发语言
清晓粼溪9 分钟前
Java登录认证解决方案
java·开发语言
小徐Chao努力10 分钟前
Go语言核心知识点底层原理教程【变量、类型与常量】
开发语言·后端·golang
风123456789~11 分钟前
【健康管理】第8章 身体活动基本知识 2/2
笔记·考证·健康管理
锥锋骚年11 分钟前
go语言异常处理方案
开发语言·后端·golang
沐知全栈开发11 分钟前
JSP 自动刷新技术详解
开发语言
特立独行的猫a13 分钟前
C++使用Boost的Asio库优雅实现定时器与线程池工具类
开发语言·c++·线程池·定时器·boost·asio
代码游侠17 分钟前
学习笔记——Linux进程间通信(IPC)
linux·运维·笔记·学习·算法