2012-04-04 2 views
1

현재 간단한 클라이언트 \ 서버 websocket 데모를 실행하려고하는데 내 서버로 C# Nugget project을 사용하려고합니다. Netscape (v5.1.4)를 통해 서버에 연결할 수 있지만 Chrome (v18.0.1)을 통해 연결할 수는 없으며 문제를 클라이언트 핸드 셰이크까지 추적했습니다.C# 너겟 서버 오류

덩어리가 클라이언트 핸드 셰이크는 정확히 다음과 같은 형식이 될 것으로 기대 방법 넷스케이프를 보내는 :

expected client handshake

반면에 크롬의 클라이언트 핸드 셰이크는 다음과 같이 찾고 있습니다 :

chromes client handshake

너겟 서버에서 문제를 일으키는 두 가지 요청 - sec-websocket 매개 변수의 차이점을 강조했습니다.

클라이언트 핸드 셰이크의 Netscape 및 Chromes 구현이 다른 버전의 websocket 사양을 기반으로하고 있다고 생각합니다. 누구도 이것에 대해 더 많은 정보를 얻었습니까? 두 종류의 핸드 셰이크를 처리하는 코드를 추가하는 것이 좋습니까?

어떤 통찰력을 환영

제임스

자료 : Understanding Websocket Client Handshakes

답변

2

그것은 넷스케이프과 같은 프로토콜의 이전, 사용되지 않는, Hixie 변형을 말하고있다. 사파리도 이것을 사용합니다. Chrome은 더 현대적인 RFC 6455을 사용합니다. 결국 모든 브라우저가 RFC 6455를 사용할 것으로 기대할 수 있습니다.

가능한 한 많은 클라이언트 유형을 지원한다고 가정하면 두 변형을 모두 처리 할 수있는 코드를 추가해도 괜찮습니다. 포스트 핸드 셰이크 읽기/쓰기에 대한 데이터 프레이밍은 사용되는 프로토콜 변형에 따라 변경됩니다.

+0

설명해 주셔서 감사합니다. 제임스 –

관련 문제