c# 웹 소켓 예제

Tempo de leitura: menos de 1 minuto

0 Flares Filament.io 0 Flares ×

많은 웹 소켓 예제는 이전 웹 소켓 버전에 대 한 및 다시 통신에 대 한 복잡 한 코드 (및 외부 라이브러리)를 포함. 모든 최신 브라우저는 웹 소켓 프로토콜의 적어도 버전 13을 지원하므로 이전 버전과의 호환성 지원으로 작업을 복잡하게 만들지 않습니다. 이것은 외부 라이브러리가 없는 C#의 웹 소켓 프로토콜을 구현하는 베어 본입니다. 표준 HTML5 자바 스크립트 또는 C # 클라이언트를 사용하여 연결할 수 있습니다. 하위 프로토콜의 협상을 사용하려면 WebSocketServer.SupportedSubProtocols 속성에서 지원되는 프로토콜을 지정합니다. 협상된 하위 프로토콜은 소켓의 ConnectionInfo.NegotiatedSubProtocol에서 사용할 수 있습니다. 폴 바텀, 마이크로소프트의 WebSockets 팀에 프로그램 관리자, 윈도우를 구성 하기 위한 단계를 통해 산책 하는 좋은 게시물을 가지고 8/서버 2012 웹 소켓에 대 한 그래서 내가 그들을 반복 하지 않습니다. 여기에서 바울의 게시물: http://www.paulbatum.com/2011/09/getting-started-with-websockets-in.html. 이 문서의 초점은 브라우저용 WebSockets에 있지만, 내 친구이자 동료 CSD MVP인 Damir Dobric은 브라우저가 아닌 시나리오에서 NetHttpBinding을 활용하는 방법을 보여주는 훌륭한 블로그 게시물이 http://developers.de/blogs/damir_dobric/archive/2011/11/26/wcf-duplex-via-websocket.aspx. 그림 3과 같이 WebSocket 지원 브라우저/클라이언트가 WebSocket 끝점에 대한 연결을 설정하면 포트 80/443을 통해 핸드셰이크를 수행하고 WebSocket 프로토콜에 대한 업그레이드를 요청합니다. 서버가 WebSocket 프로토콜을 지원하고 클라이언트와 서버의 프로토콜 버전이 일치하는 경우 웹 서버는 업그레이드 요청을 수락하고 요청을 업그레이드합니다. 이 시점부터 클라이언트와 서버는 직접 소켓 연결을 가지며 자유롭게 메시지를 교환할 수 있습니다.

지원되는 브라우저의 경우 https://caniuse.com/#feat=websockets 참조하세요. 그러나 C#에서 사용자 고유의 테스트 클라이언트를 작성할 수도 있습니다. 명령줄 앱에 있는 하나의 예가 있습니다. 명령줄 앱에서 서버와 테스트 클라이언트 시작: 루프를 시작하기 전에 WebSocket 연결을 수락하면 미들웨어 파이프라인이 종료됩니다. 소켓을 닫으면 파이프라인이 해제됩니다. 즉, WebSocket이 수락되면 요청이 파이프라인에서 진행을 중지합니다. 루프가 완료되고 소켓이 닫히면 요청이 파이프라인을 백업합니다. 요청 수명 주기의 후반부(예를 들어 Configure 메서드 또는 작업 메서드의 후반)에서 WebSocket 요청인지 확인하고 WebSocket 요청을 수락합니다.

웹소켓 샤프는 여전히 시험판 버전으로, NuGet 갤러리에서 사용할 수 있습니다. 웹소켓-샤프는 HTTP 인증(기본/다이제스트)을 지원합니다. 채팅 웹 소켓 연결의 구현은 다음과 같습니다: 목록 6이 이 문서에서 참조하는 다른 모든 코드와 함께 code-magazine.com 다운로드할 수 있는 StatusStreamService의 전체 구현을 제공합니다.

Os comentários foram encerrados, mas trackbacks e pingbacks estão abertos.