관련 Java 클래스
소켓
public class Socket extends Object
・ 기능 : TCP 클라이언트 소켓 ・ 건축 방법 : 소켓 (inetAddress 주소, int 포트) 스트림 소켓을 생성하고 지정된 IP 주소의 지정된 포트 번호에 연결합니다. ・ 공통 방법 : 1. getInetAddress inetAddress에 대한 관련 정보를 얻습니다.
서버 코켓
public class ServerSocket extends Object
・ 기능 : TCP 서버 소켓 ・ 구성 방법 : Serversocket (int port) 특정 포트에 바인딩 서버 소켓 생성.
TCP 서버 측
tcpserver.java
서버는 다중 스레딩 방법을 채택합니다. 연결이 설정 될 때마다 Java 스레드가 시작되고 이미지가 클라이언트로 전송되고 TCP 연결이 닫힙니다.
패키지 cn.xidian.tcpsocket; import java.io.file; import java.io.fileInputStream; import java.io.ioexception; import java.io.outputStream; import java.net.serversocket; import java.net.socket; public class classer streld {public classerCocket (suke classeCocket) (suke classerCocket). {super (); this.clientsocket = clientsocket;}@public void run () {) {try {// 클라이언트의 IP 주소와 호스트 이름 string clientAddress = clientsocket.getInetAddress (). gethostAddress (); String ClyderName = clientSocket.getInetAddress (); getHostName (); System.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.println ( "gethostAddress (); ClientAddress + ")" + "성공적으로 연결되어!"); System.out.println ( "지금, 이미지 데이터 ........."); long starttime = system.currentTimeMillis (); // get outputStreamOutputStream out = clientsputStream (); // 이미지 데이터 파일에서 getouttootStream (new FileInputStream) (new) 파일 ( "/home/gavinzhou/est + clientAddress + ")" + "이미지 전송이 성공적입니다." + "시간 :" + (endtime-starttime)) + "ms"); // 리소스를 닫는다. ioException {// TCP 연결 서비스 생성, 포트 서버 소켓 바인드 TCPSERVER = NEW SERVERSOCKET (9090); // 연결을 수락하고 연결된 클라이언트에게 전달하십시오. 각 tcp 연결은 Java 스레드이며 (true) {Socket Clientsocket = tcpserver.accept (); new tcpserver (clientsocket) .start ();}}}TCP 클라이언트
tcpclient
패키지 cn.xidian.tcpsocket; import java.io.file; import java.io.fileoutputStream; import java.io.ioexception; import java.io.inputStream; import java.net.inputStream; import java.net.socket; public class tcpclient {args [] args) trows ioio excement {args). 서비스 // 기본 TCP 서버 소켓에 연결 = 새 소켓 (inetAddress.getLocalHost (), 9090); // 입력 스트림 입력 inputStream inputStream = socket.getInputStream (); // 데이터 쓰기 데이터 out = new FileOutputStream (새 파일 ( "../ Save.jpg"); 0; while ((길결과
먼저 명령 줄에서 서버를 시작한 다음 클라이언트를 시작하십시오. 결과는 다음과 같습니다.
사진은 비교적 작고 매우 빠릅니다!
요약
위는 다중 스레드 TCP 서버를 구현하기위한 Java 프로그래밍에 대한이 기사의 전체 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!