Программирование на Java

Сокет - одна из самых фундаментальных технологий программирования компьютерной сети. Это способ подключения двух узлов в сети для связи друг с другом. Программное обеспечение на основе сокетов обычно работает на двух отдельных компьютерах в сети, но сокеты также могут использоваться для локального обмена данными (interprocess) на одном компьютере.

Программирование Java Socket имеет два раздела.

  1. Программа Socket Java Server
  2. Программа для сокетов Java Client

Программа Socket Java Server

Программа Socket Socket представляет собой приложение на базе Java Console. Эта программа выступает в роли сервера и слушает запрос клиентов из порта № 8888.

 
ServerSocket server=new ServerSocket(8888);
Socket serverClient=server.accept();

Пример сокета сервера

 
import Java.net.*;
import Java.io.*;
public class TCPServer {
  public static void main(String[] args) throws Exception {
    try{
      ServerSocket server=new ServerSocket(8888);
      Socket serverClient=server.accept();
      DataInputStream inStream=new DataInputStream(serverClient.getInputStream());
      DataOutputStream outStream=new DataOutputStream(serverClient.getOutputStream());
      BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
      String clientMessage="", serverMessage="";
      while(!clientMessage.equals("bye")){
        clientMessage=inStream.readUTF();
        System.out.println("From Client: "+clientMessage);
        serverMessage=reader.readLine();
        outStream.writeUTF(serverMessage);
        outStream.flush();
      }
      inStream.close();
      outStream.close();
      serverClient.close();
      server.close();
    }catch(Exception e){
      System.out.println(e);
    }
  }
}

Программа Java Socket Socket

Клиент подключен к порту 8888 программы Socket Socket Java и IP-адрес (имя компьютера) серверной машины. Здесь мы приводим 127.0.0.1, потому что Сервер и Клиент работают на одном компьютере. Если клиентская программа работает на другом компьютере, вы можете указать IP-адрес этой машины.

 
Socket socket=new Socket("127.0.0.1",8888);

Когда программа Java Client запускается, она будет подключаться к программе Socket Java Server и ждать ввода с клиентской стороны. Когда вы вводите сообщение, оно будет отправлено на сервер, а затем вы также увидите ответные сообщения с сервера.

Пример клиента Socket

 
import Java.io.*;
public class TCPClient {
  public static void main(String[] args) throws Exception {
  try{
    Socket socket=new Socket("127.0.0.1",8888);
    DataInputStream inStream=new DataInputStream(socket.getInputStream());
    DataOutputStream outStream=new DataOutputStream(socket.getOutputStream());
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String clientMessage="",serverMessage="";
    while(!clientMessage.equals("bye")){
      clientMessage=br.readLine();
      outStream.writeUTF(clientMessage);
      outStream.flush();
      serverMessage=inStream.readUTF();
      System.out.println("From Server: "+serverMessage);
    }
    outStream.close();
    outStream.close();
    socket.close();
  }catch(Exception e){
    System.out.println(e);
  }
  }
}

Как запустить эту программу?

Следующим шагом является запуск программы Java Client Socket на том же компьютере или других компьютерах в той же сети. Когда вы запускаете клиентскую программу, она установит соединение с сервером и ожидает ввода с клиентской стороны. Когда вы вводите сообщение и нажимаете кнопку ENTER, вы можете увидеть одно и то же сообщение на стороне сервера. После получения сообщения с клиентской стороны вы можете отправить сообщение клиенту со стороны сервера. Когда клиент отправляет «bye» со стороны клиента, сервер закрывает соединение с клиентом.

Источник: http://net-informations.com/Java/net/socket.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector