随笔 - 317, 文章 - 0, 评论 - 453, 阅读 - 114万
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

C# 基于UDP的局域网通信

Posted on   PHP-张工  阅读(183)  评论(0编辑  收藏  举报

使用UDP可以实现局域网内的广播通信,基于广播功能可以做到无服务器,自发现用户。

UDP监听核心代码:

复制代码
using (UdpClient client = new UdpClient(new IPEndPoint(IPAddress.Any, Port)))
{
    IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 0);
    while (true)
    {
        Thread.Sleep(10);
        if (client.Client.Available <= 0)//可防止报错
        {
            continue;
        }

        byte[] buf = client.Receive(ref endpoint);
        string msg = Encoding.Default.GetString(buf);

        MsgParse(endpoint, msg);
    }
}
复制代码

UDP消息广播核心代码:

sendClient = new UdpClient(new IPEndPoint(IPAddress.Any, 0));
byte[] buf = Encoding.Default.GetBytes(str);
IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("255.255.255.255"), Port);
sendClient.Send(buf, buf.Length, endpoint);

效果如下图:

下载源码:

https://files.cnblogs.com/files/zjfree/ZUdpChat.zip?t=1697011824&download=true

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2021-10-11 PHP ROT18加解密
点击右上角即可分享
微信分享提示