понедельник, 3 июня 2013 г.

Sockets

Есть серверные сокеты, которых смысл только слушать на своем порте клиентские конекшины, и когда запрашивается конекшин создавать сокет для обслужавания поступившего запроса.
Клиентские сокеты - это сокеты, которые создаются для подключения к серверному сокету по айпи и порту. Этот же самый класс обслуживает по ту сторону на сервере такие запросы, он создается северным сокетом именно для такой цели, но его наверно называть тоже клиентским будет неправильно.

Сервер:
boolean listening = true;
ServerSocket serverSocket = new ServerSocket(9999);//9999 - port number
while (listening){
  new Runnable(){
    @Override
    public void run(){
      Socket clientSocket = serverSocket.accept();
      PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
     BufferedReader in = new BufferedReader(
        new InputStreamReader(
        clientSocket.getInputStream()));
      .....
      out.close();
      in.close();
      socket.close();
    }
  }
}
serverSocket.close();

Клиент:
Socket cleintSocket = new Socket("domain", 9999);
out = new PrintWriter(cleintSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(cleintSocket.getInputStream()));
.....
out.close();
in.close();
socket.close();

Комментариев нет:

Отправить комментарий