android socket服务器端连接关闭

时间:2012-02-03 16:17:10

标签: java android sockets

我编写套接字客户端 - 服务器连接。服务器侦听客户端名称,如果不可用,则服务器关闭连接。正确的名字都是有效的。 客户端:

clientSocket = new Socket("192.168.1.102", 15780);
outToServer = new DataOutputStream(clientSocket.getOutputStream());
sendRequest(uName);
currentInt = 0;
updateUI();

然后我检查一下,是否可以打开连接。

private void updateUI()
    {  
        if(currentInt <= 100)
        {
            if(clientSocket.isConnected())  
            {
                outServ.setText("Complete!");
                Intent i = new Intent(this, RoomClass.class);
                startActivity(i);
                mRedrawHandler.removeMessages(0);
            }
        }else{
            currentInt++;  
            mRedrawHandler.sleep(50);  
        }
    } 

它始终是连接的!但服务器端关闭的cliet端口。我听说因此无法检查连接是否关闭。如何制作?

1 个答案:

答案 0 :(得分:2)

仅当服务器正常关闭(调用.close()方法)时,Socket.isConnected()才会返回'false'。 如果您无法控制服务器套接字,则使用PrintWrite.checkError()

请参阅此帖子以获取示例:https://stackoverflow.com/a/8268497/1012381