C#中UDP数据的发送?接收

简介: Visual C# UDP数据的发送?接收包使用的主要类及其用法: 用Visual C# UDP协议的实现,最为常用,也是最为关键的类就是UdpClient,UdpClient位于命名空间System.

Visual C# UDP数据的发送?接收包使用的主要类及其用法:

用Visual C# UDP协议的实现,最为常用,也是最为关键的类就是UdpClient,UdpClient位于命名空间System.Net.Sockets中,Visual C# UDP数据包的发送?接收都是通过UdpClient类的?表01和表02是UdpClient类中常用方法和属性及其简要说明?

方法 说明 Close 关闭 UDP 连接 Connect 建立与远程主机的连接 DropMulticastGroup 退出多路广播组 JoinMulticastGroup 将 UdpClient 添加到多路广播组 Receive 返回已由远程主机发送的 UDP 数据文报 Send 将 UDP 数据文报发送到远程主机?

属性 说明 Active 获取或设置一个值,该值指示是否已建立了与远程主机的连接 Client 获取或设置基础网络套接字 表02:UdpClient类中常用方法及其说明?

1.Visual C# UdpClient类发送UDP数据包:

在具体使用中,一般分成二种情况:

(1). 知道远程计算机IP地址:

"Send"方法的调用语法如下:

  1. public int Send ( byte[] dgram , int bytes , IPEndPoint endPoint ) ;  

参数说明:

dgram 要发送的 UDP 数据文报(以字节数组表示)?

bytes 数据文报中的字节数?

endPoint 一个 IPEndPoint,它表示要将数据文报发送到的主机和端口?

返回值 已发送的字节数?

下面使用UdpClient发送UDP数据包的具体的调用例子:

  1. IPAddress HostIP = new IPAddress.Parse ( "远程计算机IP地址" ) ;   
  2. IPEndPoint host = new IPEndPoint ( HostIP , 8080 ) ;   
  3. UdpClient.Send ( "发送的字节" , "发送的字节长度" , host ) ;  

(2). 知道远程计算机名称:

知道远程计算机名称后,利用"Send"方法直接把UDP数据包发送到远程主机的指定端口号上了,这种调用方式也是最容易的,语法如下:

  1. public int Send ( byte[ ] dgram , int bytes , string hostname , int port ) ;  

参数说明:

dgram 要发送的 UDP 数据文报(以字节数组表示)?

bytes 数据文报中的字节数?

hostname 要连接到的远程主机的名称?

port 要与其通讯的远程端口号?

返回值 已发送的字节数?

2.Visual C# UdpClient类接收UDP数据包:

接收UDP数据包使用的是UdpClient中的“Receive"方法?此方法的调用语法如下:

  1. public byte [] Receive ( ref IPEndPoint remoteEP ) ;  

参数说明:

remoteEP 是一个 IPEndPoint类的实例,它表示网络中发送此数据包的节点?

如果指定了远程计算机要发送到本地机的端口号,也可以通过侦听本地端口号来实现对数据的获取,下面就是通过侦听本地端口号“8080"来获取信息代码:

  1. server = new UdpClient ( ) ;   
  2. receivePoint = new IPEndPoint (new IPAddress ( "127.0.0.1" ) , 8080 ) ;   
  3. byte[] recData = server.Receive ( ref receivePoint ) ;  

来自博客:
http://www.cnblogs.com/starxp/articles/2528727.html
相关文章
|
2月前
|
测试技术 API C#
C#使用Bogus生成测试数据
C#使用Bogus生成测试数据
39 1
|
23天前
|
存储 C# 开发者
枚举与结构体的应用:C#中的数据组织艺术
在C#编程中,枚举(`enum`)和结构体(`struct`)是非常重要的数据类型。枚举用于定义命名常量集合,提高代码可读性;结构体则封装相关数据字段,适合小型数据集。本文从基本概念入手,探讨它们的使用技巧、常见问题及解决方案,帮助开发者更好地利用这些特性构建健壮的应用程序。
23 8
|
2月前
|
Java
java网络编程 UDP通信协议实现局域网内文件的发送和接收
java网络编程 UDP通信协议实现局域网内文件的发送和接收
java网络编程 UDP通信协议实现局域网内文件的发送和接收
|
2月前
|
存储 C# 数据库
解决C#对Firebase数据序列化失败的难题
在游戏开发中,Unity结合Firebase实时数据库为开发者提供强大支持,但在C#中进行数据序列化和反序列化时常遇难题。文章剖析了数据丢失或反序列化失败的原因,并给出解决方案,包括使用`JsonUtility`、确保字段标记为`[Serializable]`以及正确配置网络请求。示例代码演示了如何在Unity环境中实现Firebase数据的序列化和反序列化,并通过设置代理IP、Cookies和User-Agent来增强网络请求的安全性。这些技巧有助于确保数据完整传输,提升开发效率。
解决C#对Firebase数据序列化失败的难题
|
2月前
|
开发框架 .NET C#
WPF/C#:显示分组数据的两种方式
WPF/C#:显示分组数据的两种方式
44 0
|
2月前
|
XML C# 数据格式
WPF/C#:如何将数据分组显示
WPF/C#:如何将数据分组显示
33 0
|
2月前
|
C# Windows
WPF/C#:如何显示具有层级关系的数据
WPF/C#:如何显示具有层级关系的数据
38 0
|
2月前
|
开发框架 算法 .NET
C#使用MiniExcel导入导出数据到Excel/CSV文件
C#使用MiniExcel导入导出数据到Excel/CSV文件
48 0
|
14天前
|
存储 网络协议 算法
UDP 协议和 TCP 协议
本文介绍了UDP和TCP协议的基本结构与特性。UDP协议具有简单的报文结构,包括报头和载荷,报头由源端口、目的端口、报文长度和校验和组成。UDP使用CRC校验和来检测传输错误。相比之下,TCP协议提供更可靠的传输服务,其结构复杂,包含序列号、确认序号和标志位等字段。TCP通过确认应答和超时重传来保证数据传输的可靠性,并采用三次握手建立连接,四次挥手断开连接,确保通信的稳定性和完整性。
46 1
UDP 协议和 TCP 协议
|
2月前
|
消息中间件 网络协议 算法
UDP 和 TCP 哪个更好?
【8月更文挑战第23天】
101 0