我在一台手机上建立了:
serverSocket =new ServerSocket(6695);
socket=serverSocket.accept();
在另一台手机上
cliSocket=new Socket(ipaddress,port);
调试时候看到两个一直处于阻塞
要如何解决呢?请哪位大侠帮忙!谢谢!!!
serverSocket =new ServerSocket(6695);
socket=serverSocket.accept();
在另一台手机上
cliSocket=new Socket(ipaddress,port);
调试时候看到两个一直处于阻塞
要如何解决呢?请哪位大侠帮忙!谢谢!!!
解决方案 »
- 求各个门户网站的新闻json接口地址
- Android开发所用到的工具
- 安卓 屏幕大小问题
- 重写getView()
- 新手,opengl入门问题,跪求大神指导!!
- 似乎是下载文件时候的错误
- android 4.0下设置静态ip
- android 下载图片到sd卡,通过查看“相册”找不到,确定已经下载到sd卡,求指点
- 各路大神求救!Android JNI thrownew 不返回exception的问题。。。
- Android Studio中如何解决重复依赖导致的app:transformClassesWithJarMergingForDebug
- ListView中怎么插入网络中的图片,是要重写SimpleAdapter吗?
- 设计一个button,点击打开指定的SD卡文件夹,怎么破
“我在一台手机上建立了:
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