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 ) ;

C#中UDP数据的发送、接收的更多相关文章

  1. Java中udp/tcp的发送和接收

    InetAddress UDP例程: 发送数据: 接收数据: 结果: TCP例程: 发送数据: 接收数据: 结果:

  2. 【python】udp 数据的发送和接收

    import socket def send_message(): # 创建一个udp套接字 udp_socker = socket.socket(socket.AF_INET,socket.SOCK ...

  3. c# 实现简单udp数据的发送和接收

    服务端代码 static void Main(string[] args) { UdpClient client = null; string receiveString = null; byte[] ...

  4. 项目总结22:Java UDP Socket数据的发送和接收

    项目总结22:Java UDP Socket数据的发送和接收 1-先上demo 客户端(发送数据) package com.hs.pretest.udp; import java.io.IOExcep ...

  5. udp网络程序-发送、接收数据

    1. udp网络程序-发送数据 创建一个基于udp的网络程序流程很简单,具体步骤如下: 创建客户端套接字 发送/接收数据 关闭套接字 代码如下: #coding=utf-8from socket im ...

  6. Udp广播的发送和接收(iOS + AsyncUdpSocket)下篇

    接上篇C#的Udp广播的发送和接收 http://www.cnblogs.com/JimmyBright/p/4637090.html ios中使用AsyncUdpSocket处理Udp的消息非常方便 ...

  7. socket对于大数据的发送和接收

    大数据是指大于32K或者64K的数据. 大数据的发送和接收通过TSTREAM对象来进行是非常方便的. 我们把大数据分割成一个个4K大小的小包,然后再依次传输. 一.大数据的发送的类语言描述: 1)创建 ...

  8. 探索 OpenStack 之(15):oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收

    前言:上一篇文章 只是 RabbitMQ 的科普,本文将仔细分析 Cinder 中 RabbitMQ 的各组件的使用.消息的发送和接收等.由于各流程步骤很多,本文只会使用若干流程图来加以阐述,尽量做到 ...

  9. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收

    本节由介绍3种数据的发送接收:1.Data Items : 比特类型数据,限制100KB以内2.Assets : 资源类型数据,大小无上限3.Message : 发送消息,触发指令 http://de ...

随机推荐

  1. git http服务免登录实现(免去每次请求用户名密码输入,Visual Studio可用)

    最近用了Bonobo搭起了Git服务,弄了个批处理文件来避免每次都要输入用户名密码. 此脚本分为三个步骤:1.添加用户变量HOME:2.添加用户_netrc文件:3.添加windows普通凭据(因为V ...

  2. Sqlserver UrlEncode

    Sqlserver  UrlEncode if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UrlEncode ...

  3. spring boot 页面根路径获取和jsp获取的不同之处(粘贴即用)

    不同之处已做高亮. jsp 写法: <script type="text/javascript" src="${pageContext.request.contex ...

  4. Hibernate框架笔记01_环境搭建_API_CRUD

    目录 1. Hibernate框架的概述 1.1 什么是框架 1.2 经典三层架构 1.3 Hibernate框架 2 Hibernate入门 2.1 下载Hibernate的开发包 2.2 创建项目 ...

  5. mysql报错:java.sql.SQLException: Incorrect string value: '\xE4\xB8\x80\xE6\xAC\xA1...' for column 'excelName' at row 1

    一.问题 用Eclipse做项目时候报错 java.sql.SQLException: Incorrect string value: '\xE4\xB8\x80\xE6\xAC\xA1...' fo ...

  6. Sql server 2014 数据库还原奇异现象

    用A库来还原B库   对正在使用的B库执行还原,还原时修改数据库名称,还原出错,提示数据库正在使用.删除B库,仍然提示正在使用,感觉像僵尸     重启SQL SERVER,因B库已删除,在A库上点击 ...

  7. [ArcGIS API for JavaScript 4.8] Sample Code-Get Started-widgets简介

    [官方文档:https://developers.arcgis.com/javascript/latest/sample-code/intro-widgets/index.html] 一.Intro ...

  8. 在 Apex 中得到 sObject 的信息

    Salesforce 的数据模型是基于 sObject 的.在 Apex 中,所有的标准对象.自定义对象都是继承自 sObject 的. 关于在 Apex 中得到 sObject 的信息,我们要基于两 ...

  9. Python Django对接企业微信第三方服务回调验证的一些坑

    今天公司老总,叫我把公司的企业微信,服务商管理后台中的本地应用进行回调验证. 听起来一脸懵逼,没搞过企业微信对接情况.一头雾水,不知道如何下手. 先讲解一下,企业微信情况. 登录到企业微信后,右上角服 ...

  10. ASP.NET MVC从空项目开始定制项目

    在上一篇net core的文章中已经讲过如何从零开始搭建WebSocket. 今天聊聊ASP.NET的文件结构,如何用自己的目录结构组织项目里的文件. 如果用Visual Studio(VS)向导或d ...