2014-02-21 2 views
3

При попытке подключения к серверу пользовательского сокета с помощью SocketRocket Я получаю сообщение об ошибке:SocketRocket - Invalid Sec-WebSocket-Accept

Error Domain=SRWebSocketErrorDomain Code=2133 "Invalid Sec-WebSocket-Accept response" UserInfo=0x8f6af00 {NSLocalizedDescription=Invalid Sec-WebSocket-Accept response} 

Я связал это назад к методу _checkHandshake в _HTTPHeadersDidFinish. Метод _checkHandshake делает следующее:

NSString *acceptHeader = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Accept"))); 

Я нашел этот вопрос, и иметь последнюю версию socketrocket, но, кажется, не работает?

https://github.com/square/SocketRocket/issues/24

Пожалуйста, дайте мне знать, как я получаю эту ошибку (SocketRocket - Invalid Sec-WebSocket-Accept)

+0

У меня такая же ошибка –

+2

Какой сервер веб-сервера вы используете? Я исправил эту проблему, заставив соединение между клиентом и сервером проходить через websockets. Я использую SockJS-сервер, поэтому я сделал это, добавив «/ websocket» в URL-адрес, чтобы «принудительно» использовать связь для использования веб-карт. Может быть, это помогает. –

ответ

6

Я подтверждаю, что (с помощью сервера SockJS) путем изменения этого:

NSURL *url = [NSURL URLWithString:@"http://localhost:9090"]; 

к этому:

NSURL *url = [NSURL URLWithString:@"http://localhost:9090/websocket"]; 

ошибка исчезла.

Смежные вопросы