Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C窗口发现侦听端口XX的服务器套接字的IP地址_C#_Sockets - Fatal编程技术网

C# 如何使用C窗口发现侦听端口XX的服务器套接字的IP地址

C# 如何使用C窗口发现侦听端口XX的服务器套接字的IP地址,c#,sockets,C#,Sockets,我正在制作C服务器和套接字图像发送应用程序。我现在面临的主要问题是,每次加载客户端时,我都必须指定服务器的名称或IP地址 我能知道客户机套接字如何获取在某个端口XX侦听的服务器的IP地址吗?我不想在客户端手动修复或键入IP地址以连接到服务器套接字。对不起,我的英语很差 我的设想是 我有3款平板电脑,分别是A、B、C安装的客户端应用程序和3款平板电脑,分别是D、E、F安装的服务器应用程序。每个客户端都可以向每个服务器发送映像。所以,问题是我不想在客户端套接字中修复服务器的IP地址。使用Udp套接字

我正在制作C服务器和套接字图像发送应用程序。我现在面临的主要问题是,每次加载客户端时,我都必须指定服务器的名称或IP地址

我能知道客户机套接字如何获取在某个端口XX侦听的服务器的IP地址吗?我不想在客户端手动修复或键入IP地址以连接到服务器套接字。对不起,我的英语很差

我的设想是


我有3款平板电脑,分别是A、B、C安装的客户端应用程序和3款平板电脑,分别是D、E、F安装的服务器应用程序。每个客户端都可以向每个服务器发送映像。所以,问题是我不想在客户端套接字中修复服务器的IP地址。

使用Udp套接字广播,可以发送所有在端口侦听的IP地址的数据。这是我发送给所有在端口4800侦听的服务器的客户端代码

 foreach (IPAddress ip in allLocalNetworkAddresses.AddressList)
        {
            Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);


            //Allow sending broadcast messages
            client.SetSocketOption(SocketOptionLevel.Socket,
            SocketOptionName.Broadcast, 1);

            //Bind on port 0. The OS will give some port between 1025 and 5000.
          //  client.Bind(new IPEndPoint(ip, 0));

            //Create endpoint, broadcast.
            IPEndPoint AllEndPoint = new IPEndPoint(IPAddress.Broadcast, Port);   
            byte[] sendData = Encoding.ASCII.GetBytes("1");

            client.SendTo(sendData, AllEndPoint);
            Console.Write("Client send '1' to " + AllEndPoint.ToString() +
            Environment.NewLine);

你必须扫描这个网络。如果你同时编写客户机和服务器,你可以考虑在服务器上做一个IM的广播消息来接听客户机。@ Buffder-+广播消息。谢谢