C#中UDP数据的发送、接收
来源:互联网 发布:环球天下期货软件 编辑:程序博客网 时间:2024/06/05 09:02
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"方法的调用语法如下:
- public int Send ( byte[] dgram , int bytes , IPEndPoint endPoint ) ;
参数说明:
dgram 要发送的 UDP 数据文报(以字节数组表示)。
bytes 数据文报中的字节数。
endPoint 一个 IPEndPoint,它表示要将数据文报发送到的主机和端口。
返回值 已发送的字节数。
下面使用UdpClient发送UDP数据包的具体的调用例子:
- IPAddress HostIP = new IPAddress.Parse ( "远程计算机IP地址" ) ;
- IPEndPoint host = new IPEndPoint ( HostIP , 8080 ) ;
- UdpClient.Send ( "发送的字节" , "发送的字节长度" , host ) ;
(2). 知道远程计算机名称:
知道远程计算机名称后,利用"Send"方法直接把UDP数据包发送到远程主机的指定端口号上了,这种调用方式也是最容易的,语法如下:
- public int Send ( byte[ ] dgram , int bytes , string hostname , int port ) ;
参数说明:
dgram 要发送的 UDP 数据文报(以字节数组表示)。
bytes 数据文报中的字节数。
hostname 要连接到的远程主机的名称。
port 要与其通讯的远程端口号。
返回值 已发送的字节数。
2.Visual C# UdpClient类接收UDP数据包:
接收UDP数据包使用的是UdpClient中的“Receive"方法。此方法的调用语法如下:
- public byte [] Receive ( ref IPEndPoint remoteEP ) ;
参数说明:
remoteEP 是一个 IPEndPoint类的实例,它表示网络中发送此数据包的节点。
如果指定了远程计算机要发送到本地机的端口号,也可以通过侦听本地端口号来实现对数据的获取,下面就是通过侦听本地端口号“8080"来获取信息代码:
- server = new UdpClient ( ) ;
- receivePoint = new IPEndPoint (new IPAddress ( "127.0.0.1" ) , 8080 ) ;
- byte[] recData = server.Receive ( ref receivePoint ) ;
- C#中UDP数据的发送、接收
- C#中UDP数据的发送、接收
- c#中UDP数据发送和接收
- C# UDP、串口的数据接收与发送
- udp发送接收数据
- JAVA---udp数据的发送与接收
- C# WinForm实现UDP发送和接收数据
- C# UDP 接收客户端指令并发送数据
- C#使用UdpClient发送和接收UDP数据示例
- C# UDP接收和发送
- C# UDP接收和发送
- UDP发送与接收数据
- udp下接收发送数据
- 用MapReduce 模拟日志发送,在Storm的Spout中接收UDP数据
- udp协议的数据接收与发送的代码
- c#的 UDP接收
- UDP利用多线程实现数据的发送和接收
- UDP 用户数据报文协议的发送和接收示例
- 线程池的使用(二)
- 内存泄漏的学习
- uva548Tree
- Linux下Tomcat重新启动
- apache fluent 乱码
- C#中UDP数据的发送、接收
- 机器学习的一般算法
- Java程序通过LDAP对用户进行登陆验证
- Sql Server 数据类型与 C# 数据类型对照
- ios开发学习笔记--数据持久化之数据库(SQLite.swift)和FMDB
- 与Service通信的简单总结
- Android Studio 设置文件头注释模板
- viewPager的 transformPage方法中position含义
- 正则表达式