我在MVS中使用用于Xamarin的 rda.SocketsForPCL NuGet插件连接到TCP服务器时遇到问题。我试图在for循环中建立套接字连接,因为找不到Previous TCP Socket related question中所述的实际服务器IP地址。
我有一个for循环,它检查服务器在其DHCP地址池中可能具有的所有可能的IP地址,该地址只是IP地址的最后一个字节(254种可能性)。然后,我进行 client.Socket.Connected 检查,这是程序包的功能。此检查的问题在于,尽管IP地址无效且服务器未显示任何连接(当我手动键入期望的IP时),但它会得到许多误报(连接状态为true)套接字连接库中要连接的服务器的地址-我得到一个连接确认;所以我的服务器很好)。
NuGet插件在for循环中尝试使用多个IP地址连接套接字时是否存在已知的bug?还是我的逻辑有问题?
for循环功能如下:
public TcpSocketClient client;
for (int i = 0; i < 256; i++)
{
broken4 = i.ToString();
SharedSocket.Instance().setSocket(1, IPads +
broken4);
await Task.Delay(2);
if (client.Socket.Connected)
{
string b = "Connected";
string c = IPads + broken4;
Console.WriteLine("IP = " + broken4);
}
else{}
}
我的问题本质上是,是否有另一种方法可以通过使用rda.SocketsForPCL插件通过尝试某种循环中的不同IP地址来创建TCP套接字?为什么上述方法无法按预期运行,并且还有替代方法?请尽可能提供帮助。先感谢您。