Contact Us  
    Today
     
    03 8671 0111

웹소켓 서버 예제

위의 내용은 최신 브라우저에서 제공되는 WebSocket 클래스를 사용하는 경우 자동으로 처리됩니다. 서버 측에서 만 찾아서 응답을 생성하면 됩니다. 서버가 자체 서명된 인증서를 사용하기 때문에 이 클라이언트에는 컨텍스트가 필요합니다. WebSocket 연결은 클라이언트와 서버 간의 초기 핸드셰이크 중에 동일한 기본 TCP 연결을 통해 HTTP 프로토콜에서 WebSocket 프로토콜로 업그레이드하여 설정됩니다. 이 요청에는 클라이언트가 WebSocket 연결을 설정하려는 것을 서버에 알리는 업그레이드 헤더가 포함됩니다. 설정되면 WebSocket 인터페이스에서 정의한 메서드를 사용하여 WebSocket 메시지를 앞뒤로 보낼 수 있습니다. WebSocket (서버 측)와 통신하는 자체 백 엔드 응용 프로그램이 필요합니다. 따라서 당신은 단일 목적 의 서버를 작성해야하고, 내 의견으로는,이 상황에서 Node.js는 자바, C ++, PHP 또는 무엇이든에 서버를 작성하는 것보다 훨씬 낫다. 클라이언트는 서버에서 지원되고 활성화된 경우에만 확장을 사용합니다. 클라이언트에서 확장을 항상 사용하지 않도록 설정하려면 perMessageDeflate 옵션을 false로 설정합니다. 마지막 지점에는 몇 가지 중요한 결과가 있습니다. 색상 변수를 선언하는 서버 소스 코드를 살펴보십시오. 나는 하드 7 색상을 코딩하지만 7 활성 연결이 있고 8 클라이언트가 연결을 시도하면 어떻게해야합니까? 이 경우 예외가 발생했으며 예외가 catch되지 않아 서버가 즉시 고장났을 수 있습니다.

열기: 서버가 WebSocket 연결 요청에 응답합니다. 핸드셰이크가 수행되고 연결이 설정되었음을 나타냅니다. open 이벤트에 대한 콜백이 onopen으로 호출됩니다. 우선, 서버는 표준 TCP 소켓을 사용하여 들어오는 소켓 연결을 수신 수신해야 합니다. 플랫폼에 따라 자동으로 처리될 수 있습니다. 예를 들어 서버가 example.com 포트 8000에서 수신 대기 중이고 소켓 서버가 example.com/chat GET 요청에 응답한다고 가정해 보겠습니다. opcode는 프레임이 무엇을 의미하는지 알려줍니다. 0x1이면 페이로드가 텍스트입니다.

0x2이면 페이로드가 이진 데이터입니다. 그러나 0x0이면 프레임이 연속 프레임입니다. 즉, 서버는 프레임의 페이로드를 해당 클라이언트에서 받은 마지막 프레임에 연결해야 합니다. 다음은 서버가 문자 메시지를 보내는 클라이언트에 반응하는 대략적인 스케치입니다. 첫 번째 메시지는 단일 프레임으로 전송되고 두 번째 메시지는 세 프레임에 걸쳐 전송됩니다. FIN 및 opcode 세부 정보는 클라이언트에 대해서만 표시됩니다: WebSocket 서버는 C(++), 파이썬, PHP 또는 서버 측 JavaScript와 같은 버클리 소켓이 가능한 모든 서버 측 프로그래밍 언어로 작성할 수 있습니다.

Accredited with:

excellence and integrity

JHL Civil Pty Ltd ABN 79144 907 514, 10A Phillip Court, Port Melbourne, Victoria (VIC), 3207 Australia
© Copyright JHL Civil 2013