2011-09-14 7 views
0

C#으로 작성된 웹 소켓 서버와 간단한 클라이언트를 테스트했습니다.WebSocket 클라이언트가 데이터를받지 못합니다.

핸드 셰이크를 성공적으로 수행했으며 클라이언트에서 onopen 이벤트를 트리거합니다. 그러나 클라이언트에 데이터를 보내면 그냥 무시합니다.

처럼 : 클라이언트의

byte[] data = Encoding.UTF8.GetBytes(text); 
clientSocket.Send(data); 

는 이벤트 onmessage를 트리거하지 않습니다.

이미 텍스트의 첫 번째 바이트를 넣으려고 시도했습니다. 0x00과 마지막으로 0xFF이지만 다른 것은 없습니다. 먼저 byte[0] = 0x00으로 바이트 배열을 보낸 다음 메시지와 byte[0] = 0xFF을 보내려고했습니다. 그러나 다시는 차이가 없습니다.

이 문제를 어떻게 해결할 수 있습니까?

+0

해당 코드는 try catch로 작성 되었습니까? 그렇다면 어떤 유형의 오류가 발생합니까? 또한 코드를 제공하십시오. –

+0

'byte [0] = 0xFF' 정말요? 첫 번째 바이트를 두 번 설정 하시겠습니까? – pimvdb

답변

1

이미 해결책을 찾았습니다. 이 버전의 초안에서는 메시지가 프레임에 들어 있어야한다는 점이 문제입니다. 먼저 몇 바이트가 있어야합니다. 이 기사는 다른 사람을 도울 수 있기를 바랍니다. http://blog.vunie.com/implementing-websocket-draft-10

+0

이 문제가 해결되었으므로 답을 수락해야합니다. –