java 소켓통신 예제

나는 소켓 연결을하고 있었고, 나는 문자로 문자를 읽어야한다. 그러나 읽기 방법은 연결을 닫을 때까지 EOF (즉-1을 얻지 못)에 도달하지 않지만 여러 레코드에 대한 연결을 열고 닫을 수는 없습니다. 어쨌든이 문제를 해결할 수 있습니까? 또한 데이터를 작성하는 동안 println 메서드만 사용할 수 있지만 쓰기 방법은 사용할 수 없습니다. 이 예제는 나중에 기사에서 무엇을 기대해야하는지 에 대한 느낌을 주기 위한 것이기 때문에 여기서 무슨 일이 일어나고 있는지 완전히 이해하지 못한다면 걱정하지 마십시오. 자바에서 소켓 프로그래밍을 빠르게 모집하기위한 것이 전부입니다. 나는 당신이 자바 소켓 서버와 자바 소켓 클라이언트 프로그래밍을 시작할 수 있기를 바랍니다. 둘 사이의 주요 차이점은 UDP가 연결되지 않는다는 것입니다. 자리를 차지할 수 있습니다. 서버-클라이언트 통신의 자바 소켓 프로그래밍을 테스트하려면 먼저 SocketServerExample 클래스를 실행해야 합니다.

소켓 서버를 실행하면 “클라이언트 요청 대기 중”을 인쇄한 다음 클라이언트 요청을 기다립니다. 다음은 자바 소켓 서버 소켓서버예제 프로그램의 출력입니다. 소켓 프로그래밍에 사용할 수 있는 두 가지 통신 프로토콜은 UDP(사용자 데이터그램 프로토콜)와 전송 제어 프로토콜(TCP)입니다. 서버를 시작해 봅시다. IDE에서 Java 응용 프로그램으로 실행하기만 하면 됩니다. 나는 소켓 프로그래밍에 더 깊은 원하는 그래서 친구 .thank 내 의견을. 서버는 “노크! 노크!” 그래서 나중에 서버는 클라이언트가 말을 기다려야한다 “누가 거기?” 결과적으로 while 루프는 입력 스트림에서 읽기를 반복합니다. readLine 메서드는 클라이언트가 출력 스트림(서버의 입력 스트림)에 무언가를 작성하여 응답할 때까지 기다립니다. 클라이언트가 응답하면 서버는 KnockKnockProtocol 개체에 대한 클라이언트의 응답을 전달하고 KnockKnockProtocol 개체에 적절한 응답을 요청합니다. 서버는 println 호출을 사용하여 소켓에 연결된 출력 스트림을 통해 클라이언트에 회신을 즉시 보냅니다.

KnockKnockServer 개체에서 생성된 서버의 응답이 “안녕”이면 클라이언트가 더 이상 농담을 원하지 않으며 루프가 종료된다는 것을 나타냅니다. 서버가 클라이언트가 다른 농담을 듣고 싶은지 묻는 메시지가 끝나고 클라이언트가 아니오라고 말하고 서버가 “안녕”이라고 말합니다. 이 문서의 모든 서버를 실행하는 방법에 주의를 기울이기 위해 주요 방법과 전역 변수를 포함합니다. 문서의 나머지 예제에서, 우리는 더 반복적인 코드의이 종류를 생략 합니다: 어느 하나는 말해 …. 멀티 크렌트 서버소켓 ……… 자바에서는 외부 클래스에서 스레드에 액세스하기위한 조항이 있습니다. 스레드는 소켓 클라이언트 중 하나입니다 ????? … 여기에서 서버는 소켓이 스트림으로 닫혀질 때까지 클라이언트와 메시지를 끝없이 교환할 수 있습니다. 다음은 서버 측의 예입니다.

서버는 여러 연결을 허용합니다. 서버 기능은 간단합니다, 그냥 클라이언트에 다시받은 메시지를 회신합니다. 클라이언트와 서버와 관련된 가장 기본적인 예제로 손을 더럽게 해 보겠습니다. 클라이언트가 서버를 맞이하고 서버가 응답하는 양방향 통신 응용 프로그램이 될 것입니다. 소켓 프로그래밍의 클라이언트는 두 가지 정보를 알고 있어야 합니다. 수락시 서버는 동일한 로컬 포트인 6666에 바인딩된 새 소켓인 clientSocket을 받고 클라이언트의 주소 및 포트로 원격 끝점을 설정합니다.