Ответ 1
Если порт используется postgresql, вы также можете открыть этот порт в качестве порта сервера. Либо закройте postgresql, либо используйте другой порт.
У меня есть одна программа для сокетов сервера, когда я запускаю эту программу, я получаю следующую ошибку:
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.<init>(ServerSocket.java:194)
at Server.main(Server.java:20)
Could not listen on port: 5434.
Сервер postgres sql уже запущен на этом порту, что объясняет эту ошибку. Мое аппаратное устройство отправляет данные только этому порту 5434.
Каковы мои возможности обойти эту ошибку?
Если порт используется postgresql, вы также можете открыть этот порт в качестве порта сервера. Либо закройте postgresql, либо используйте другой порт.
Экземпляр моей java-программы уже запущен и занимает порт. Поэтому, когда я попытался запустить новый экземпляр, я получил ошибку. Чтобы убить старый экземпляр, я делаю следующее:
prompt> lsof -i:5434
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 71107 neoneye 68u IPv6 0x4a0371dea87d2cd3 0t0 TCP *:http-alt (LISTEN)
prompt> kill 71107
кстати. Я не рекомендую останавливать postgresql таким образом.
Узнайте, какая программа использует ваш порт:
sudo netstat -nlp | grep 514
udp 0 0 :::514 :::* 30186/java
Сообщает мне, что java-программа является обязательной для UDP-порта 514
Вы должны изменить свой номер порта. У меня была такая же ошибка. После того как я изменил номер порта, он решил.