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

相关推荐
程序猿小泓4 分钟前
从 Claude Code 学 Agent Harness:一个前端工程师的 AI Agent 学习笔记
前端·人工智能·学习
六个九十度38 分钟前
用python脚本访问被网关隔离的嵌入式设备
开发语言·python
酷酷的身影1 小时前
Drivers/LedManager.cs
开发语言·php
换个昵称21 小时前
大模型学习8下-高性能推理引擎vLLM学习笔记
笔记·学习·vllm
小樱花的樱花1 小时前
Linux 线程的创建
linux·c语言·开发语言
xiaoshuaishuai81 小时前
C# AI实现PR处理、单元测试
开发语言·c#·log4j
C++、Java和Python的菜鸟1 小时前
第7章 Java高级技术
java·开发语言
LONGZHIQIN1 小时前
C#基础复习笔记
开发语言·笔记·c#
可靠的仙人掌2 小时前
SAC(Soft Actor-Critic)算法底座
开发语言·算法·php
得闲喝茶2 小时前
跨表数据匹配——VLOOKUP、XLOOKUP
大数据·数据库·笔记·信息可视化·数据分析·excel