У меня очень простой клиент-серверный код, написанный на java (сервер прослушивает какой-то порт, и клиент подключается к порту сервера, и после того, как соединение установлено, ip клиента отображается на консоли сервера). Эта программа очень хорошо работает в интрасети, но если клиент и сервер находятся в Интернете, мой сервер не может обнаружить его. У меня не установлен брандмауэр на моем клиенте и сервере, и переадресация портов выполняется на сервере (я вижу это на canyouseeme.org ).
Сервер напрямую подключен к модему вместе с тремя другими компьютерами (они также подключены к модему напрямую)
Пожалуйста, помогите мне выяснить, почему я не могу обнаружить клиента в Интернете. Спасибо заранее.
Client code:
------------
String remoteIP = //remote ip
int port =1888;
try{
new Socket(remoteIp,port);
}catch(Exception e){
System.out.println(e.message());
}
Server code
-----------
ServerSocket serversocket = new ServerSocket(port);
Socket socket = serverSocket.accept();
displayIp(socket);