자바 TCP/IP 프로 토 콜 의 송 수신 데이터(서버)코드 인 스 턴 스 구현

이 글 은 주로 자바 가 TCP/IP 프로 토 콜 을 실현 하 는 송 수신 데이터(서버)코드 인 스 턴 스 를 소개 합 니 다.이 글 은 예제 코드 를 통 해 매우 상세 하 게 소개 되 어 있 으 며 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 으 므 로 필요 한 친 구 는 참고 하 셔 도 됩 니 다.
기능 은 다음 과 같 습 니 다.

주:
서버 만 있 고 클 라 이언 트 가 없 으 며 테스트 할 때 제3자 소프트웨어 를 클 라 이언 트 로 사용 합 니 다.
송 수신 데 이 터 는 현재 정상적으로 데 이 터 를 송 수신 할 수 있 지만 중국어 만 어 지 럽 게 표 시 됩 니 다.
Thread 클래스 를 사용 하여 데 이 터 를 송 수신 하 는 스 레 드 를 실현 합 니 다.
서버 코드:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
  //    
  private static final int PORT = 60020;

  public static void main(String[] args) throws IOException {
    ServerSocket serverSocket = null;
    Socket socket = null;
    try {
      //      Socket,          PORT
      serverSocket = new ServerSocket(PORT);
      //          ,              while    
      while(true){
         try {
          //         
          socket = serverSocket.accept();
         } catch (Exception e) {
           System.out.println("             ");
           e.printStackTrace();
         }
         ServerThread thread = new ServerThread(socket);
         thread.start();
      }
    } catch (Exception e) {
      System.out.println("     ");
      e.printStackTrace();
    }    
    finally {
      serverSocket.close();
    }
  }
}

//      
//  Thread   ,    run  , run            。
class ServerThread extends Thread {
  private Socket socket ;
  InputStream inputStream;
  OutputStream outputStream;
  
  public ServerThread(Socket socket){
    this.socket=socket;
  }
  public void run(){
    try {
      while (true){
        //           
        System.out.println(socket);
        inputStream=socket.getInputStream();
        byte[] bytes = new byte[1024];
        inputStream.read(bytes);
        String string = new String(bytes);
        System.out.println(string);  
        
        //        
        outputStream = socket.getOutputStream();
        outputStream.write("OK".getBytes());
        System.out.println("OK");
        
      }
    } catch (Exception e) {
      System.out.println("          ");
      //e.printStackTrace();
    }
    //    ,  socket
    try{
      socket.close(); 
    }catch(IOException e){
      System.out.println("        ");  
      e.printStackTrace();
    }
  }
}
먼저 서버 를 열 고 클 라 이언 트 를 열 어 조작 합 니 다.
클 라 이언 트:
(포트 번 호 는"TCPClient"를 선택 하고 IP 주소 와 프로그램 에 설 정 된 포트"60020"을 원 격 으로 입력 하 며 로 컬 은 자신의 컴퓨터 의 IP 주 소 를 선택 합 니 다)

서버:

주:
직렬 디 버 깅 도구
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기