socket.IO-objc示例返回服务器代码400

时间:2014-04-16 21:43:43

标签: ios sockets websocket socket.io

我正在使用https://github.com/pkyeck/socket.IO-objc GitHub repo中提供的默认示例。并且SocketIO抛出一个错误,即握手失败,服务器返回状态码为400.我已经使用socket.io Javascript库成功连接到服务器。

- (void) viewDidLoad
{
    [super viewDidLoad];
    socketIO = [[SocketIO alloc] initWithDelegate:self];
    socketIO.useSecure = YES;

    [socketIO connectToHost:@"[url]" onPort:443];
}

-

SocketTesterARC[2457:60b] Connecting to socket with URL: https://[url]:443/socket.io/1/?t=1397682804193

SocketTesterARC[2457:60b] didReceiveResponse() 400
SocketTesterARC[2457:60b] ERROR: handshake failed ... Server returned status code 400

SocketTesterARC[2457:60b] onError() Error Domain=SocketIOError Code=-6 "Error Domain=SocketIOError Code=400 "Server returned status code 400" UserInfo=0x1780718c0 {NSLocalizedDescription=Server returned status code 400}" UserInfo=0x178072740 {NSLocalizedDescription=Error Domain=SocketIOError Code=400 "Server returned status code 400" UserInfo=0x1780718c0 {NSLocalizedDescription=Server returned status code 400}}

2 个答案:

答案 0 :(得分:1)

检查版本号,猜测你使用的是0.9版本,服务器端代码是否使用版本1.0。服务器和客户端都应该是相同的版本。

答案 1 :(得分:0)

在将我的Mac硬编码到iOS应用程序代码中时,我也遇到了这样的错误。一旦我拥有动态IP,有一天它已被更改并且 - pfff - 握手错误和超时。