现象非常的奇特,电脑ping手机没问题,用手机的socket调试助手也没问题,手机还能向外连接tcp服务器,但是电脑连手机tcp服务器连不上。更有趣的是,有些手机做tcp服务器可以被连接,有些手机做tcp服务器不能被连接,一样的程序。
csharp
TcpListener listener = new TcpListener(IPAddress.Any, e.port);
listener.Start(0);//问题在这里
问题在于启动监听时,指定了等待监听的长度为0,在windows上这是没问题的,但是在安卓上,它真的会是0个,也就是不处理监听连接,可以为他指定一个大于0的值,或者不填参数
csharp
listener.Start(10);//最多同时有十个连接请求
listener.Start();//根据平台不同,选择可以同时处理请求的最大值