Android for TCP服务器中的套接字stop t socket.accept()
我尝试在Android手机上创建一个简单的TCP服务器,并等待客户端。 我只想实现Android for TCP服务器中的套接字stop t socket.accept(),android,sockets,Android,Sockets,我尝试在Android手机上创建一个简单的TCP服务器,并等待客户端。 我只想实现TCPServer和Client之间的连接,它不需要传输任何数据 我有另一个客户端应用程序,它用来连接到这个TCPServer。 TCPServerthread的代码如下所示 private class TCPServerThread implements Runnable { @Override public void run() { // TODO
TCPServer
和Client
之间的连接,它不需要传输任何数据
我有另一个客户端应用程序,它用来连接到这个TCPServer
。
TCPServerthread
的代码如下所示
private class TCPServerThread implements Runnable
{
@Override
public void run() {
// TODO Auto-generated method stub
try {
ServerSocket serverSocket = new ServerSocket(PORT);
//while loop
while (true) {
Log.i(TAG, "TCPServerThread...while loop");
try {
Socket socket = serverSocket.accept();
Log.i(TAG, "TCPServerThread...socket.getInetAddress() = " + socket.getInetAddress());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
Log.i(TAG, "First IOException");
}
}
//while loop end
} catch (Exception e) {
// TODO: handle exception
//e.printStackTrace();
Log.i(TAG, "Second IOException");
}
}
}
但它似乎停留在Socket=serverSocket.accept()当客户端
尝试连接到此服务器时,code>不会显示TCPServerThread…socket.getInetAddress()=
的日志
我是否缺少TCPServer
的某些内容?
这是否意味着当代码停在Socket=serverSocket.accept()时,客户端没有连接到服务器代码>??
------------------------------------编辑------------------------------------------
更新流程
服务器(Android手机)
打开WiFi热点
,它也会像上面的代码一样打开TCP服务器
在客户端
连接到WiFi热点
后,客户端
和服务器
位于同一网络中
客户端
将获得网关的IP地址
,客户端
尝试通过TCP
连接到网关的IP地址
因此,连接端口
和服务器地址
对于客户端
来说似乎是正确的。您的代码是正确的,但似乎没有人连接到您的TCPserver。
为了避免在服务器上出现这种阻塞情况
Socket socket = serverSocket.accept();
声明套接字时,必须为其设置超时选项
serverSocket.setSoTimeout(mTime);
)() 如果未通过serverSocket.accept(),则没有客户端连接。找出原因。在客户端中查找错误。请发布客户端日志cat/stacktrace。告诉您使用的设置。遗尿器?装置等等。那么服务器的代码是正确的吗?问题出在客户端?如果所有服务器代码都正确,我不知道。但是现在很明显你的客户没有连接。这可能是因为您的设置与客户端中使用的URL不一致。第一:告诉你我已经问过的设置。第二:发布客户端的日志。我也已经要求过了。@greenapps客户端的代码不是Android的,所以我不能发布代码。但是我从Play store下载了套接字协议
应用程序。客户端可以连接到套接字协议
应用程序。我在手机上创建了软AP模式和TCP服务器,客户端连接到我的手机。然后启动TCP连接。端口为50006。但我已使用客户端尝试连接到此服务器。我还使用同一个客户端连接到另一个TCPServer应用程序,并且它可以连接