c# - 如何使用 UDP 广播进行网络发现

标签 c# udp

我想在 C# 中使用 UDP 广播进行网络发现。我不知道该怎么做。你能给我一些建议吗?

我想这样做tutorial .

最佳答案

用C#做同样的事情非常简单

服务器:

var Server = new UdpClient(8888);
var ResponseData = Encoding.ASCII.GetBytes("SomeResponseData");

while (true)
{
    var ClientEp = new IPEndPoint(IPAddress.Any, 0);
    var ClientRequestData = Server.Receive(ref ClientEp);
    var ClientRequest = Encoding.ASCII.GetString(ClientRequestData);

    Console.WriteLine("Recived {0} from {1}, sending response", ClientRequest, ClientEp.Address.ToString());
    Server.Send(ResponseData, ResponseData.Length, ClientEp);
}

客户:

var Client = new UdpClient();
var RequestData = Encoding.ASCII.GetBytes("SomeRequestData");
var ServerEp = new IPEndPoint(IPAddress.Any, 0);

Client.EnableBroadcast = true;
Client.Send(RequestData, RequestData.Length, new IPEndPoint(IPAddress.Broadcast, 8888));

var ServerResponseData = Client.Receive(ref ServerEp);
var ServerResponse = Encoding.ASCII.GetString(ServerResponseData);
Console.WriteLine("Recived {0} from {1}", ServerResponse, ServerEp.Address.ToString());

Client.Close();

关于c# - 如何使用 UDP 广播进行网络发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22852781/

相关文章:

c# - 动态创建 CAML 查询

c# - SqlBulkCopy 在 Azure Sql 和 C# 上*非常*慢

sockets - D语言: UDP client does not receive reply

c++ - UDP 套接字读取最后一个传入字节

我可以确定在使用 MSG_PEEK 成功调用 recv 后立即执行的 UDP recv 不会阻塞吗?

c# - asp.net下拉列表向上打开

c# - 我怎样才能制作一个按钮,将剪贴板上的内容粘贴到任何位置?

c# - 无法将返回值类型的方法分配给 Func<dynamic>

c# - 在 Windows Phone 7 中异步接收 UDP 单播数据包的问题

c++ - 实现多线程 UDP 服务器(线程池?)的问题