C# UDP广播消息

首先是发送端:

/// <summary>
/// 发送UDP消息
/// </summary>
/// <param name="msg">消息内容</param>
void Send(string msg)
{
    UdpClient udpClient = new UdpClient();
    IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Broadcast, 10249);

    byte[] buffer = Encoding.UTF8.GetBytes(msg);
    udpClient.Send(buffer, buffer.Length, ipEndPoint);
}

然后是接收端:

static void Main()
{
    UdpClient udpServer = new UdpClient(10249);
    IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, 10249);

    udpServer.BeginReceive(Received, udpServer);
}

/// <summary>
/// 异步接收UDP数据
/// </summary>
/// <param name="iar"></param>
void Received(IAsyncResult iar)
{
  udpServer = iar.AsyncState as UdpClient;
  byte[] buffer = udpServer.EndReceive(iar, ref ipEndPoint);

  //将获取的byte[]数据转换成字符串
  string m = Encoding.UTF8.GetString(buffer).Trim();

  Console.WriteLine("Receive:{0}",m);

  //继续异步接收数据
  udpServer.BeginReceive(Received, udpServer);
}

接收端采用了异步执行的方式,当然也可以用Thread来做!

时间: 2024-10-03 23:17:47

C# UDP广播消息的相关文章

NetworkComms V3 之发送UDP广播消息

NetworkComms通信框架,是一款来自英国的c#语言编写的通信框架,历时6年研发,成熟稳定,性能可靠. NetworkComms v3目前只支持基本的UDP通信 UDP通信一个很强大的功能,就是UDP广播.允许网络上发送的一个数据包,可以被多个适配器接收.下面的场景中可以考虑使用UDP通信 1:检查哪些网络端点在线 2: 通知网络端点有一个新的服务 3: 传递信息到一组端点上 使用networkComm V3 发送UDP数据包 UDPConnection.SendObject("ChatM

C#中Udp广播的发送与接收(UdpClient)

简介: Udp广播消息用在局域网的消息传递很方便.本文使用UdpClient类在WPF下实现Udp广播收发 发送: 1 void MainWindow_Loaded(object sender, RoutedEventArgs e) 2 { 3 Loaded -= MainWindow_Loaded; 4 UdpClient client = new UdpClient(new IPEndPoint(IPAddress.Any, 0)); 5 IPEndPoint endpoint = new

Linux系统下UDP发送和接收广播消息小例子

[cpp] view plaincopy // 发送端 #include <iostream> #include <stdio.h> #include <sys/socket.h> #include <unistd.h> #include <sys/types.h> #include <netdb.h> #include <netinet/in.h> #include <arpa/inet.h> #includ

【Win 10 应用开发】UDP广播

我们知道,对于UDP协议的通信,除了可以用来聊天外,可以发送广播数据.只要向广播地址的某个端口发送数据就可以进行广播,子网中只要监听该端口的socket就能收到广播消息. 最简单的方法就是向255.255.255.255发送消息,这样就可以在本地网络中广播了,由于路由器不转发对该地址所发送的内容,所以只能用于本地网络.但这已经够用了,至少连接到同一个路由器的设备都能收到消息. 下面,咱们就来演示一下,如何进行广播. 先看接收端的实现. RT库API提供了一个名为DatagramSocket的类,

Udp广播的发送和接收(ios+AsyncUdpSocket)下篇

接上篇C#的Udp广播的发送和接收 http://www.cnblogs.com/JimmyBright/p/4637090.html ios中使用AsyncUdpSocket处理Udp的消息非常方便 准备工作: 在github上找到cocoaAsyncSocket,下载下来,把其中AsyncUdpSocket.h和AsyncUdpSocket.m文件copy到你的项目中,其他文件都不需要.copy到swift环境下会自动提示创建桥接文件,点击确认就可以了. 发送Udp: 上面代码对局域网广播消

工位上的Python——一个简单的UDP广播实例

最近状态神勇,头脑清晰,趁此良机,多多学习,多多看书,把以前看不懂的地方重新看了下,收获匪浅,现把两个简单的小例子献给大家: 先是一个简单的UDP广播接收的小服务器,使用UDP广播,需要注意下协议的使用,已经最最重要的socket选项的设置,设置为传说中的"socket.SO_BROADCAST",不需要有监听,接收客户端的消息使用recvfrom,发送消息使用sendto: 代码如下: !/usr/bin/env python  #coding:utf-8 import socket

【Netty】UDP广播事件

一.前言 前面学习了WebSocket协议,并且通过示例讲解了WebSocket的具体使用,接着学习如何使用无连接的UDP来广播事件. 二.UDP广播事件 2.1 UDP基础 面向连接的TCP协议管理端到端的连接,在连接生命周期中,发送的消息会有序并且可靠地进行传输,最后连接有序地终止.然而,在无连接协议(如UDP)中,没有持久连接的概念,每个消息(UDP数据报)都是独立的传输,此外,UDP没有TCP的纠错机制(即每个对等体会确认其接收到的分组,并且发送者会重传未确认的分组). UDP的限制比T

c# socket udp广播

一.广播消息 由于Tcp是有连接的,所以不能用来发送广播消息.发送广播消息,必须用到Udp,Udp可以不用建立连接而发送消息.广播消息的目的IP地址是一种特殊IP地址,称为广播地址.广播地址由IP地址网络前缀加上全1主机后缀组成,如:192.168.1.255是192.169.1.0这个网络的广播地址;130.168.255.255是130.168.0.0这个网络的广播地址.向全部为1的IP地址(255.255.255.255)发送消息的话,那么理论上全世界所有的联网的计算机都能收得到了.但实际

[C# 网络编程系列]专题七:UDP编程补充——UDP广播程序的实现

上次因为时间的关系,所以把上一个专题遗留下的一个问题在本专题中和大家分享下,本专题主要介绍下如何实现UDP广播的程序,下面就直接介绍实现过程和代码以及运行的结果. 一.程序实现 UDP广播程序的实现代码: [csharp] view plain copy print? using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.W