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

相关推荐
YJlio12 小时前
Active Directory 工具学习笔记(10.14):第十章·实战脚本包——AdExplorer/AdInsight/AdRestore 一键化落地
服务器·笔记·学习
遇到困难睡大觉哈哈12 小时前
HarmonyOS 关系型数据库 RDB 数据持久化(ArkTS)实战:建库建表、CRUD、事务、FTS、性能优化,一篇搞懂
笔记·华为·harmonyos
东华万里12 小时前
第十四篇 操作符详讲
c语言·学习·大学生专区
nwsuaf_huasir12 小时前
深度学习2-pyTorch学习-张量基本操作
pytorch·深度学习·学习
d111111111d12 小时前
江协科技-PID基本原理-(学习笔记)-主页有所有STM32外设的笔记基本都是万字起步。
笔记·科技·stm32·单片机·嵌入式硬件·学习
裤裤兔12 小时前
Python打印输出换行
开发语言·python
一水鉴天12 小时前
整体设计 定稿 之24+ dashboard.html 增加三层次动态记录体系仪表盘 之2 程序 (Q208 之2)
开发语言·前端·javascript
啦哈拉哈12 小时前
【Python】知识点零碎学习3
开发语言·python·学习
ℳ₯㎕ddzོꦿ࿐12 小时前
先立后破:Linux 下“新建管理员 → 验证 → 禁用 root 远程 SSH”的零翻车笔记
linux·笔记·ssh
mengzhi啊12 小时前
Qt自绘制动态字体,模糊的,毛茸茸的fuzzy。
开发语言·qt