Websocket 套接字IO侦听器在Android中不工作

Websocket 套接字IO侦听器在Android中不工作,websocket,socket.io,android-tv,socketserver,Websocket,Socket.io,Android Tv,Socketserver,我正在制作Android电视的通知。我已经使用Socket IO服务器连接实现了它。我已使用java.net.Socket与Socket服务器建立了连接,但无法侦听服务器发送的消息 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listen_socket_mess

我正在制作Android电视的通知。我已经使用Socket IO服务器连接实现了它。我已使用java.net.Socket与Socket服务器建立了连接,但无法侦听服务器发送的消息

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_listen_socket_message);
    new AsyncAction().execute();
}


private class AsyncAction extends AsyncTask<String, Void, String> {
    protected String doInBackground(String... args) {
        try {
            InetAddress serverAddr = InetAddress.getByName("xx.xx.xxx.xxx");
            clientSocket = new Socket(serverAddr, 8000);
        } catch (UnknownHostException e1) {
            e1.printStackTrace();

            Log.d("Exception_UnknownHost", e1.getMessage());
        } catch (IOException e1) {
            e1.printStackTrace();
            Log.d("Exception_socket", e1.getMessage());
        }

        return null;//returns what you want to pass to the onPostExecute()
    }

    protected void onPostExecute(String result) {
        //resultis the data returned from doInbackground
        if (clientSocket.isConnected()) {
            setListener();
            Toast.makeText(SocketConnectionActivity.this, "Connected!!", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(SocketConnectionActivity.this, "Not Connected!!", Toast.LENGTH_LONG).show();
        }
    }
}

private void setListener() {

    // TODO Auto-generated method stub
    new Thread() {
        @Override
        public void run() {
            try {
                BufferedReader br = new BufferedReader(
                        new InputStreamReader(clientSocket.getInputStream()));
                String line = br.readLine();
                Log.d("SocketConnection",line);
                br.close();
            } catch (UnknownHostException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }.start();
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u listen\u socket\u message);
新建AsyncAction().execute();
}
私有类AsyncAction扩展了AsyncTask{
受保护的字符串doInBackground(字符串…args){
试一试{
inetAddressServerAddr=InetAddress.getByName(“xx.xx.xxx.xxx”);
clientSocket=新套接字(serverAddr,8000);
}捕获(未知后异常e1){
e1.printStackTrace();
Log.d(“Exception_UnknownHost”,e1.getMessage());
}捕获(IOE1异常){
e1.printStackTrace();
Log.d(“异常_套接字”,e1.getMessage());
}
return null;//返回要传递给onPostExecute()的内容
}
受保护的void onPostExecute(字符串结果){
//结果是从doInbackground返回的数据
if(clientSocket.isConnected()){
setListener();
Toast.makeText(SocketConnectionActivity.this,“Connected!!”,Toast.LENGTH\u LONG.show();
}否则{
Toast.makeText(SocketConnectionActivity.this,“未连接!!”,Toast.LENGTH\u LONG.show();
}
}
}
私有void setListener(){
//TODO自动生成的方法存根
新线程(){
@凌驾
公开募捐{
试一试{
BufferedReader br=新的BufferedReader(
新的InputStreamReader(clientSocket.getInputStream());
String line=br.readLine();
Log.d(“SocketConnection”,行);
br.close();
}捕获(未知后异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
}.start();
}

此代码中的服务器套接字在哪里?您正在创建一个客户端套接字,并使用该客户端套接字侦听