개요
- C# 용 웹소켓 라이브러리. WebSocketSharp 설치방법.
- 웹소켓 클라이언트 C# 코드예.
- Connect 함수 실행시 발생하는 TLS handshake 오류 해결.
설치방법.
Visual Studio C# 프로젝트에서 NuGet 패키지에서 검색 WebSocketSharp 에서 보이는 아래 붉은박스 선택하고 버튼 Install 클릭.
- 버전 : 1.0.1 (현재 2020.12.27 NuGet 으로 배포되는 최신버전임)
웹소켓 클라이언트 기본 코딩
- 아래 코드는 공개되어있는 웹소켓서버(룹백 서버임) 와 접속하여, 클라이언트에서 키보드로 입력한 글자를 송신하면 서버는 글자들을 그대로 다시 클라이언트로 송신하고 클라이언트 화면에 표현되는 방식으로 작동함.
ReadyState 상태 .
Connecting : 연결 시도중 의미 통신 불가 상태.
Open : ws.Connect() 실행되어 성공적인 경우이며, Open 상태에서만 정상 통신 가능.
Closing : 연결 닫히는 중.
Closed : 연결해제되었음.
상기 코드 실행모습 .
Connect 실행시 발생하는 TLS handshake 오류 해결.
- 앞의 예제 코드에서의 웹소켓서버인 경우에는 Connect() 함수가 정상적으로 실행되어 연결성공하지만, 접속대상 서버 ( 오류발생하는 웹소켓서버예 ; 암호화폐 거래소 바이빗 )에 따라 오류 나는 경우가 있다. 에러 발생시 보이는 오류 구문을 보면 아래와 같이 TLS handshake 과정에서 문제 발생했음을 알 수 있다. .
이 문제를 해결하기 위해서는 Connect 실행시 TLS 오류 발생했다면 SSL 프로토콜을 수정하여 다시 접속하는 식으로 구현한다.
아래 코드는 TLS handshake 오류 해결된 코드 이며, 상기 코드와 기본 골격은 동일. 접속 종료 이벤트 핸들러에 TLS 오류시 재접속 코드 추가된 코드이며, 접속서버는 bybit 의 모의 거래용 웹 소켓 서버로 하고 있다. 바이빗 실 매매 서버 주소 들 별도 정리 : https://igotit.tistory.com/2674
websocket-sharp 상세. GitHub
연관
MS 공식지원 웹소켓 라이브러리.
첫 등록 : 2020.12.26
최종 수정 :
단축 주소 : https://igotit.tistory.com/2739
'VisualStudio.C++.C# > 코딩팁,함수활용,단편' 카테고리의 다른 글
VS . bug .MFC. RC : fatal error RC1107: invalid usage; use RC /? for 해결책. (0) | 2022.02.03 |
---|---|
C#. MS 공식지원 WebSocket 라이브러리. (0) | 2020.12.26 |
MFC. 대화상자에 분할 윈도우 구현. (0) | 2020.12.05 |
MFC.Control. Custom Draw (2) | 2020.11.19 |
SetWindowTheme. (0) | 2020.11.19 |
댓글