Клиент и сервер читают и пишут в одном сокете - PullRequest
0 голосов
/ 23 марта 2012

У меня есть клиент Android и сервер Java, которые используют один и тот же сокет для отправки друг другу строки, но на самом деле не работает, и я не знаю почему.

В любом случае, мне нужно использовать только одну розетку.

Вот код для клиента и сервера:

public class CliActivity extends Activity implements OnClickListener {  
   Button b;
   TextView tv;
   BufferedReader in = null;
   PrintStream out = null;
   Socket client = null;

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      b =(Button)findViewById(R.id.button1);
      tv =(TextView)findViewById(R.id.textView1);

      b.setOnClickListener(this);
   }

   public void onClick(View v) {        
      try {
         client = new Socket("192.168.0.3",9000);
         out = new PrintStream(client.getOutputStream(), true);
         in = new BufferedReader(new InputStreamReader(client.getInputStream()));
         out.write(("How are you?").getBytes());
         out.close();
         String message = in.readLine();
         tv.setText(message);           
      } catch (UnknownHostException e) {
           e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      } 
   }
}

Сервер:

public class server {   
   public static void main(String[] args) {

      BufferedReader in = null;
      PrintStream out = null;
      Socket client = null; 
         try {
            ServerSocket server = new ServerSocket(9000);
            client = server.accept();
            out = new PrintStream(client.getOutputStream(), true);
            in = new BufferedReader(new     InputStreamReader(client.getInputStream()));
            String message = in.readLine();
            System.out.println(message);
            out.write(("fine thanx").getBytes());
            out.close();            
        } catch (IOException e) {
            e.printStackTrace();
        }       
   }
}

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...