我在一台手机上建立了:
serverSocket =new ServerSocket(6695);
socket=serverSocket.accept();
在另一台手机上
cliSocket=new Socket(ipaddress,port);
调试时候看到两个一直处于阻塞
要如何解决呢?请哪位大侠帮忙!谢谢!!!
serverSocket =new ServerSocket(6695);
socket=serverSocket.accept();
在另一台手机上
cliSocket=new Socket(ipaddress,port);
调试时候看到两个一直处于阻塞
要如何解决呢?请哪位大侠帮忙!谢谢!!!
“我在一台手机上建立了:
serverSocket =new ServerSocket(6695);
socket=serverSocket.accept();”这在是另一台做客户端
“另一台手机上
cliSocket=new Socket(ipaddress,port);”是很正统的 服务端+客户端
完全可以正常连接
这个方法就是阻塞的,会一直停在这一步直到有client连进来。至于你说client端也在阻塞,可能是找不到serverSocket,你可以ping一下看能通否。
client这端代码可以优化,设置timeout时间Socket client = new Socket();
client .connect(socketAddr, TIMEOUT时间);
这样在TIMEOUT后如果连接不成功会返回的。
用3G卡的话,如果是同一个服务商,也有可能会处于同一个局域网内(基本上手机每次重启后分配到的IP都会改变,而且每次的IP都可能是不同的局域网,多试几次就有可能两台手机都处于同一个局域网内了)另外,走的是tcp,服务器需要调用serverSocket.bind