Здравствуйте! Пишу чат с использованием Java Socket. На локальном соединении всё работает(когда запускаю и сервер и клиент на одном компе). Как только пытаюсь запустить с другого компа клиент, он не подключается к серверу. Висит "Ожидание подключения" и с места не сдвигается. Код:
Запуск сервера:
private void runServer(int port, int usercount) throws IOException{
serverSocket = new ServerSocket(port, usercount, InetAddress.getByName("169.254.187.222")); // Порт, кол-во подключений IP
showMessage("Сервер запущен на " + serverSocket.getInetAddress().getByName("ddocprog") + ":" + port, "info");
showMessage("Количество пользователей ограничено! (" + usercount + ")", "info");
}
Подключение клиента:
ClientRun.java:
public static void main(String[] args) throws HeadlessException, IOException{
Client client;
// Внешний
client = new Client("169.254.187.222");
client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
client.startClient();
client.closeConnection();
}
Client.java:
public void startClient() throws IOException{
try{
connectToServer();
}
catch(EOFException eofException){ // Исключения прерывания диалога
showMessage("Клиент оборвал соединение!", "info");
}
catch(IOException ioException){
ioException.printStackTrace();
}
}
private void connectToServer() throws IOException{
showMessage("Попытка подключения..", "info");
while(true){
try{
Thread.sleep(10);
}
catch(InterruptedException interruptedException){
interruptedException.printStackTrace();
}
try{
socket = new Socket(InetAddress.getByName(serverIP), 7777);
showMessage("Вы подключены к " + socket.getInetAddress().getHostName(), "info");
break;
} catch(IOException ioException) {
ioException.printStackTrace();
}
}
}
Помогите, пожалуйста, узнать, в чём проблема.
P.S. Чтобы запустить сервер и подключиться к нему клиентом, я использую свой внешний IP адрес.
Продвижение своими сайтами как стратегия роста и независимости