자바 소켓 서버 예제

ServerSocket 클래스를 사용하여 서버 소켓을 만들 수 있습니다. 이 개체는 클라이언트와의 통신을 설정하는 데 사용됩니다. 나는 공개 int getPort() { //return this.server.getLocalPort(); 반환 50800; } 그러나 서버가 연결을 거부했기 때문에 그렇게 쉬운 일이 아니라고 생각한다. KnockKnockProtocol 클래스는 클라이언트와 서버가 통신하는 데 사용하는 프로토콜을 구현합니다. 이 클래스는 클라이언트와 서버가 대화의 위치를 추적하고 클라이언트의 문에 대한 서버의 응답을 제공합니다. KnockKnockProtocol 개체는 모든 농담의 텍스트를 포함 하 고 클라이언트 서버의 문에 적절 한 응답을 제공 하는 다는 것을 확인 합니다. 서버가 “노크! 노크!” Java 런타임은 리소스 사용 설명문에서 만들어졌기 때문에 입력 및 출력 스트림, 클라이언트 소켓 및 서버 소켓을 자동으로 닫습니다. 클라이언트와 서버와 관련된 가장 기본적인 예제로 손을 더럽게 해 보겠습니다. 클라이언트가 서버를 맞이하고 서버가 응답하는 양방향 통신 응용 프로그램이 될 것입니다. 충분한 이야기, EchoMultiServer.java라는 다른 서버를 만들어 보자.

그 안에, 우리는 소켓에 각 클라이언트의 통신을 관리 하기 위해 처리기 스레드 클래스를 만듭니다.: 어떻게 서버에 xml 메시지를 보낼 수 있습니다 및 서버 응답을 읽을 수 있습니다. EchoServer.java라는 새 서버를 만들어 클라이언트에서 받는 메시지를 에코하는 것이 유일한 목적입니다. 클라이언트는 요청을 보내고, 서버는 해당 요청을 읽고, 응답을 보내고, 마지막으로 클라이언트는 응답을 읽습니다. 나는 많은 예제의 도움으로 구현하려고 노력했다. 그러나 클라이언트는 요청을 성공적으로 보내고 서버는 요청을 읽고 응답을 성공적으로 하지만 클라이언트는 응답을 받을 수 없습니다. 제발 도와주세요…. 모든 클라이언트/서버 쌍에는 서로 통신하는 프로토콜이 있어야 합니다. 그렇지 않으면 앞뒤로 전달하는 데이터는 의미가 없습니다. 자체 클라이언트와 서버가 사용하는 프로토콜은 전적으로 작업을 수행하는 데 필요한 통신에 따라 달라집니다. 즉, 여러 클라이언트의 여러 요청에 걸쳐 서버가 더욱 강력하고 탄력적입니다.

이전 예제가 첫 번째 예제에 비해 개선되었지만 여전히 훌륭한 솔루션은 아닙니다. 서버는 많은 클라이언트와 많은 요청을 동시에 서비스할 수 있는 용량이 있어야 합니다. 서버를 시작해 봅시다. IDE에서 Java 응용 프로그램으로 실행하기만 하면 됩니다. 안녕하세요 pankaj, 이것은 Tejaswi.I 내 서 스를 하 고 그리고 난 무선 컨네티비티에 대 한 책임. 클라이언트-서버 아키텍처를 사용해야 합니다. 이를 위해 나는 텍사스 악기 간단한 링크 와이파이 (cc3200)와 안드로이드를 사용하고 있습니다. TCP 연결을 사용하여 데이터를 보내야합니다. cc3200에 부착 된 센서 목록이 있습니다 .If 클라이언트는 센서 데이터에 대한 요청은 단지 해당 데이터에 대한 정보를 제공합니다. 데이터를 구성하는 방법을 전혀 알지 못합니다. 당신은 해결책을 찾기 위해 저를 도와주세요 수 있습니다.

소켓 및 ServerSocket 클래스는 연결 지향 소켓 프로그래밍에 사용되며 DatagramSocket 및 DatagramPacket 클래스는 연결 없는 소켓 프로그래밍에 사용됩니다. KnockKnockClient 클래스는 KnockKnockServer에 대해 말하는 클라이언트 프로그램을 구현합니다. KnockKnockClient는 이전 섹션의 EchoClient 프로그램, 읽기 및 소켓에 쓰기를 기반으로하며 다소 익숙해야합니다. 그러나 우리는 어쨌든 프로그램을 통해 가서 서버에서 무슨 일이 일어나고 있는지의 맥락에서 클라이언트에서 무슨 일이 일어나고 있는지 살펴 보겠습니다. 위의 생성자는 서버가 연결을 수락한 경우에만 새 소켓을 생성하며, 그렇지 않으면 연결이 거부된 예외를 받게 됩니다.

Por
agosto 2, 2019