Я создаю приложение для чата, сервер WebSocket которого написан на Java.
Для клиента WebSocket я использую SocketRocket библиотека.
Все работает нормально, когда я пытаюсь подключиться с localhost
или 127.0.0.1
.
Но когда я пытаюсь подключиться с использованием общедоступного IP-адреса, в методе - (void) webSocket:(SRWebSocket *)_webSocket didFailWithError:(NSError *)error
выдается следующая ошибка:
Error Domain=NSPOSIXErrorDomain Code=57 "The operation couldn’t be completed. Socket is not connected"
Вот как я инициализирую объект SRWebSocket
:
webSocket = [[SRWebSocket alloc] initWithURL:[NSURL URLWithString:@"ws://IP_ADDRESS:8080/ChatWebSocket/chat/12345"]];
// connects successfully when IP_ADDRESS = localhost or 127.0.0.1
// gives 'Socket is not connected' error when IP_ADDRESS = some public IP address
Я также пытался инициализировать SRWebSocket
с помощью initWithURLRequest:
.
PS Я также проверил и подтвердил, что сервер WebSocket доступен по его общедоступному IP-адресу из кода javascript.
Поэтому я думаю, что проблема на стороне клиента.
Будем признательны за любую помощь.
Заранее спасибо