2015-03-20 4 views
0

я столкнулся этот вопрос в браузере, пожалуйста, предложить решениеподключение WebSocket не удалось

WebSocket соединение 'WSS: //192.168.1.210: 8080 /' не удалось: Ошибка в установления соединения: нетто :: ERR_TIMED_OUT

+0

который язык программирования вы использовали –

+0

Это должно быть шутка вопрос. Серьезно, вы не предлагаете никаких подробностей о ситуации. Нет клиента кода или сервера. Вы даже не говорите нам, какой язык или библиотеки вы используете. Поскольку это стоит сейчас, это не серьезный вопрос и его нужно закрыть. – jfriend00

ответ

0
public class connectTask extends AsyncTask<String, String, TCPClient> { 

     @Override 
     protected TCPClient doInBackground(String... message) { 

      // we create a TCPClient object and 
      mTcpClient = new TCPClient(new TCPClient.OnMessageReceived() { 
       @Override 
       // here the messageReceived method is implemented 
       public void messageReceived(String message) { 
        // this method calls the onProgressUpdate 
        publishProgress(message); 
       } 
      }); 
      mTcpClient.run(); 
      return null; 
     } 

     @Override 
     protected void onProgressUpdate(String... values) { 
      super.onProgressUpdate(values); 
      //servermsg1 += values[0]; 
      //writedatabase(servermsg1); 
      // in the arrayList we add the messaged received from server 
      arrayList.add(values[0]); 
      // notify the adapter that the data set has changed. This means that 
      // new message received 
      // from server was added to the list 
      mAdapter.notifyDataSetChanged(); 
     } 
    } 

называют этот метод вызвать asyntask

connectTask connect = new connectTask(); 
     connect.execute(""); 

создать класс

public class TCPClient { 
    private String serverMessage; 


    public static final String SERVERIP = "192.168.1.210"; //your computer IP address 
    public static final int SERVERPORT = 8080; 
    private OnMessageReceived mMessageListener = null; 
    private boolean mRun = false; 
    DataInputStream is; 
    PrintWriter out; 
    BufferedReader in; 
    Socket socket; 
    String root=Environment.getExternalStorageState(); 
    /** 
    * Constructor of the class. OnMessagedReceived listens for the messages received from server 
    */ 
    public TCPClient(OnMessageReceived listener) { 
     mMessageListener = listener; 
     mRun = true; 
    } 
    /** 
    * Sends the message entered by client to the server 
    * @param message text entered by client 
    */ 
    public void sendMessage(String message){ 
     if (out != null && !out.checkError()) { 
      out.println(message); 
      Log.i("msg to the server",""+message); 
      out.flush(); 
      mRun = true; 
     } 
    } 
    public void stopClient(){ 
     mRun = false; 
    } 
    public void run() { 
     // mRun = true; 
     try { 
      //here you must put your computer's IP address. 
      InetAddress serverAddr = InetAddress.getByName(SERVERIP); 
      Log.e("TCP Client", "C: Connecting..."); 
      //create a socket to make the connection with the server 
      socket = new Socket(serverAddr, SERVERPORT); 
      socket.setKeepAlive(true); 
      try { 
       //send the message to the server 
       out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); 
       Log.i("TCP Client", "C: Sent."); 
       Log.i("TCP Client", "C: Done."); 
       is = new DataInputStream(socket.getInputStream()); 
       // get rid of the array length and convert to string 
        // close the connection 
       //receive the message which the server sends back 
       in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
       //in this while the client listens for the messages sent by the server 
       while (mRun) { 
         serverMessage = in.readLine(); 
         //serverMessage = buffer.toString("UTF-16LE").substring(8); 
         if (serverMessage != null && mMessageListener != null) { 
         //call the method messageReceived from MyActivity class 
         mMessageListener.messageReceived(serverMessage); 
        } 
        serverMessage = null; 
       } 
       Log.e("RESPONSE FROM SERVER", "S: Received Message: " + serverMessage +"'"); 
      } catch (Exception e) { 
       Log.e("TCP", "S: Error", e); 
      } finally { 
       //the socket must be closed. It is not possible to reconnect to this socket 
       // after it is closed, which means a new socket instance has to be created. 
       socket.close(); 
      } 
     } catch (Exception e) { 
      Log.e("TCP", "C: Error", e); 
     } 
    } 
    //Declare the interface. The method messageReceived(String message) will must be implemented in the MyActivity 
    //class at on asynckTask doInBackground 
    public interface OnMessageReceived { 

     public void messageReceived(String message); 


    } 

} 
Смежные вопросы