TCP套接字无法在Xamarin.Forms中按预期方式工作

时间:2018-08-03 08:42:54

标签: c# sockets xamarin tcp xamarin.forms

我在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套接字?为什么上述方法无法按预期运行,并且还有替代方法?请尽可能提供帮助。先感谢您。

0 个答案:

没有答案