我有一个试图连接到服务器的Android应用程序。但是在创建套接字时出现问题。应用程序在尝试实现以下行时挂起:
Socket socket= null;
socket = new Socket("192.168.0.15", 6565);
请注意,我已添加此权限:
<uses-permission android:name="android.permission.INTERNET" />
我也使用了调试,但它在创建套接字行时挂起,我已经得到了关于错误的详细信息:
java.net.SocketTimeoutException: Socket is not connected id=829731319824
我确信端口没有绑定。 我很感激你的时间。
答案 0 :(得分:2)
您的连接可能无法建立或需要一段时间才能建立。
java.net.Socket上的操作阻塞了这就是你的应用程序似乎挂起的原因。为了避免“挂起”UI,您应该尝试使用另一个线程建立连接,这样您的UI线程就不会阻塞并保持响应。
答案 1 :(得分:0)
显然,您的连接无法建立,问题不在于您的代码,而在于网络设置。要避免应用程序挂起,请确保捕获SocketTimeoutException以向用户显示错误消息以及一些按钮,例如,再次尝试或取消连接。