一. : :
java.net.*; // 소켓, serversocket 및 inetAddress import java.io.*; // IOException 및 입력/outputStream public class tcpechoserver {private static final int bufsize = 32; // 수신 버퍼의 크기 공개 정적 무효 메인 (String [] args)은 ioexception {int servport = 5500; // 클라이언트 연결을 받아들이려면 서버 소켓을 생성합니다. connection 요청 serverSocket servsock = new Serversocket (Servport); int recvmsgsize; // 수신 된 메시지의 크기 바이트 [] lecceBuf = new Byte [bufsize]; // (true) {// 영원히 실행, 연결을 수락하고 서비스를 수락하고 서비스를받는 버퍼를받습니다. // 클라이언트 연결 SocketAddress ClientAddress = clntsock.getRemotesocketAddress (); System.out.println ( "" + clientAddress의 클라이언트 처리); inputStream in = clntsock.getInputStream (); outputStream out = clntsock.getOutputStream (); // 클라이언트가 연결을 닫을 때까지 수신, -1로 표시됩니다. } clntsock.close (); // 소켓을 닫습니다. 우리는이 고객으로 끝났습니다! } / * 도달하지 않음 * /}}二. : :
java.net.*; java.io.*; public class tcpechoclient {public static void main (String [] args)은 ioexception {String Server = "127.0.0.1"; // 서버 이름 또는 IP 주소 int servport = 5500; //// 서버 포트 바이트 [] data = "hi, world".getBytes (); // 지정된 포트 소켓 소켓에서 서버에 연결된 소켓 생성 = 새 소켓 (Server, Servport); System.out.println ( "서버에 연결되어 ... echo 문자열 보내기"); inputStream in = socket.getInputStream (); outputStream out = socket.getOutputStream (); out.write (데이터); // 인코딩 된 문자열을 서버로 보냅니다. // 서버에서 동일한 문자열을 다시 수신 int totalbytesrcvd = 0; // 지금까지 수신 된 총 바이트는 int bytesrcvd; // 마지막 읽기에서 수신 된 바이트 (TotalBytesrcvd <data.length) {if ((bytesrcvd = in.read (data, totalbytesrcvd, length- totalbytesrcvd)) == -1) 새로운 socketexception ( "연결 폐쇄"); TotalBytesrcvd += bytesrcvd; } // 데이터 배열은 전체 system.out.println입니다 ( "수신 :" + 새 문자열 (data)); socket.close (); // 소켓과 스트림을 닫습니다}}上述代码的 tcp p, 一次只能服务一个客户端。
查看更多 Java a a, 大家可以关注 : 《Java에서 생각하는 사고 中文手册》、《 JDK 1.7 参考手册官方英文版》、《 JDK 1.6 API Java 中文参考手册》、《 jdk 1.5 API Java 中文参考手册》, 也希望大家多多支持武林网。