>  기사  >  Java  >  Java에서 TCP 전송을 시뮬레이션하기 위한 클라이언트 및 서버 예제 코드에 대한 자세한 설명

Java에서 TCP 전송을 시뮬레이션하기 위한 클라이언트 및 서버 예제 코드에 대한 자세한 설명

黄舟
黄舟원래의
2017-03-28 10:19:271476검색

이 글에서는 주로 Java에서 TCP 전송을 시뮬레이션하는 클라이언트 및 서버 인스턴스에 대한 관련 정보를 소개합니다. 필요한 친구는

1. TCP 전송을 위한 클라이언트 생성

1. TCP 클라이언트의 소켓 서비스를 구축하기 위해서는 소켓

객체 를 사용하는데, 객체가 생성되자마자 대상, 즉 호스트를 명확하게 하는 것이 좋습니다.

2. 연결이 성공적으로 이루어지면 이 채널은 하위 계층에서 설정된 소켓 스트림임을 의미합니다. 스트림이라는 것은 입력 스트림과 출력 스트림이 모두 있다는 뜻입니다. 입력하려는 경우 스트림 또는 출력 스트림 객체는 Socket을 통해 얻을 수 있으며, getOutputStream() 및 getInputStream()을 통해 얻을 수 있습니다. 🎜>

3. 출력 스트림을 사용하여 데이터를 작성합니다.

4.

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

public class Client {
  public static void main(String[] args) throws IOException {

    // 1、创建客户端的Socket服务
    Socket socket = new Socket("192.168.1.100", 10002);

    // 2、获取Socket流中输入流
    OutputStream out = socket.getOutputStream();

    // 3、使用输出流将指定的数据写出去
    out.write("TCP is coming !".getBytes());

    // 4、关闭Socket服务
    socket.close();
  }
}

2. TCP 전송을 위한 서버 생성

1. ServerSocket 개체를 통해 TCP 서버용 소켓 서비스를 설정합니다. > 2. 서버는 외부 세계에 포트를 제공해야 합니다. 그렇지 않으면 클라이언트가 연결할 수 없습니다.

3. 연결된 클라이언트 개체를 가져옵니다. 클라이언트 객체 소켓 스트림을 얻고 클라이언트가 보낸 데이터를 읽으려면

5. 리소스를 닫고 클라이언트를 닫고 서버를 닫습니다.

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

public class Server {
  public static void main(String[] args) throws IOException {

    // 1、创建客户端对象
    ServerSocket ss = new ServerSocket(10002);

    // 2、获取连接过来的客户端对象
    Socket s = ss.accept();

    String ip = s.getInetAddress().getHostAddress();

    // 3、通过Socket对象获取输入流,读取客户端发来的数据
    InputStream in = s.getInputStream();

    byte[] buf = new byte[1024];

    int len = in.read(buf);
    String text = new String(buf, 0, len);
    System.out.println(ip + ":" + text);

  // 4、关闭资源
    s.close();
    ss.close();
  }
}

3. TCP 전송의 클라이언트와 서버 최적화

이 부분에서는 TCP 전송 모드를 달성하기 위해 처음 두 부분의 내용을 최적화합니다. 클라이언트와 서버.

/**
*优化TCP传输的客户端
*/
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class ClientUpdate {
  public static void main(String[] args) throws IOException {

    Socket socket = new Socket("192.168.1.100", 10002);

    OutputStream out = socket.getOutputStream();

    out.write("tcp!".getBytes());

    // 读取服务端返回的数据,使用Socket读取流
    InputStream in = socket.getInputStream();
    byte[] buf = new byte[1024];

    int len = in.read(buf);

    String text = new String(buf, 0, len);

    System.out.println(text);

    socket.close();
  }
}
rrree

4. 영문 대문자 변환 서버를 생성합니다

TCP(Transmission Control Protocol, Transmission Control Protocol) 관련 속성을 적용하여 TCP 기반의 영문 대문자를 생성합니다. 전송 변환 서버에는 다음이 필요합니다. 클라이언트는 문자 데이터를 입력하여 서버에 보냅니다. 서버는 데이터를 수신하여 콘솔에 표시하고 클라이언트가 "over"를 입력할 때까지 데이터를 대문자로 변환하여 클라이언트에 반환합니다. , 변환이 완료되었습니다. 아아아아아아아

위 내용은 Java에서 TCP 전송을 시뮬레이션하기 위한 클라이언트 및 서버 예제 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.