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
相关文章
|
4月前
|
缓存 网络协议 Shell
网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报
网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报
44 0
|
8月前
|
算法 网络协议 安全
m基于DE2-115开发板的网口UDP数据收发系统FPGA实现
m基于DE2-115开发板的网口UDP数据收发系统FPGA实现
221 0
|
10月前
|
网络协议 Java API
【web】计算机网络编程(重点:UDP数据报/TCP流套接字编程)
​本文是计算机网络编程初级入门,主要介绍了网络编程的定义、Socket套接字、UDP数据报套接字编程、TCP流套接字编程、理解协议。
|
11月前
|
网络协议
UDP数据报是干什么的?底层原理是什么?
UDP数据报是干什么的?底层原理是什么?
192 0
|
负载均衡 应用服务中间件 Linux
只能使用UDP:514端口接收Syslog日志的两种解决方法
只能使用UDP:514端口接收Syslog日志的两种解决方法
2089 0
只能使用UDP:514端口接收Syslog日志的两种解决方法
|
网络协议 物联网 数据安全/隐私保护
NB-loT 通信之 UDP 收发数据 | 学习笔记
快速学习 NB-loT 通信之 UDP 收发数据
321 0
NB-loT 通信之 UDP 收发数据 | 学习笔记
|
Java 数据处理
【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )
【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )
395 0
【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )
|
缓存 网络协议
udp服务端收发数据流程
1、创建服务端的socket以便开始通讯。2、绑定ip以及端口号,这样客户端才能找到这个程序。3、因为本地网卡不止一个所以尽量不写死,一般用""空来表示所有本地网卡。4、接下来开始通过绑定的ip以及端口开始监听消息,设置最大接收1024字节消息,以防文件过大,占满网络缓存区。
1284 0
udp客户端收发数据流程
1、创建客户端socket开始进行通讯。2、这时服务端应该先启动,并在知道服务端的ip以及端口号的时候才能进行通讯。3、本地不需要绑定ip以及端口号,在用此套接字对象发送消息的时候会自动分配活动端口(1024-65535) 每次重启程序可能每次都不一样。
1269 0