如何查找具有给定端口的未知IP

时间:2019-06-18 09:36:29

标签: c# networking dynamic ipv4

我正在使用Raspberry Pi作为我们网络中IP为172.20.X.X / 16的服务器

计划是向端口15555发送广播消息。服务器将收到该消息,并向他发送他的 eth0-IP

由于我不是网络方面的佼佼者,因此在编写将IP发送到广播公司的脚本时遇到了问题,尤其是当服务器在端口15555上收到任何内容时,使该脚本执行>

我已经阅读了有关“ nc”命令的一些内容,但如果解决了我的问题,我还是不明白:

https://stackoverflow.com/a/4739260/11397900

所以目前我有2个脚本:

脚本1包含

#!/bin/bash

while :
do
    nc -k -l 15555 > sendIP.sh
    sleep 1
done

脚本2称为sendIP,其中包含atm

#!/bin/bash

echo "Success"

最后但并非最不重要的是,我要发送广播的C#代码是这个:

private static string getServerIP(int port)
    {
        string IPString = String.Empty;

        IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse("172.20.255.255"), port);
        byte[] messageInbytes = Encoding.ASCII.GetBytes("Hallo");

        UdpClient udpClient = new UdpClient();

        udpClient.Send(messageInbytes, messageInbytes.Length, iPEndPoint);
        udpClient.Client.ReceiveTimeout = 1000;
        while (true)
        {
            try
            {
                var recvBuffer = udpClient.Receive(ref iPEndPoint);
                break;
            }
            catch
            {

            }
        }

        return iPEndPoint.Address.ToString();
    }

期望的是,在Raspberry上,控制台中将出现“成功”字样,并且c#-程序完成了,但实际上,该程序不会得到响应

0 个答案:

没有答案