#java #sockets #networking #ubuntu #adhoc
#java #сокеты #сеть #ubuntu #adhoc
Вопрос:
Я создал FileSystemListener
, который прослушивает файлы в папке и отправляет их на указанный IP-адрес. Все это было протестировано в стандартной беспроводной сети, но я получаю исключение unkownhostexception при запуске в одноранговой сети.
Я не был уверен, следует ли мне спрашивать об этом у суперпользователя или здесь, поскольку я не уверен, связано ли это с моим кодом или Ubuntu.
Я могу пинговать другой компьютер в беспроводной сети, но я продолжаю получать вышеупомянутое исключение при подключении через java.
Не уверен, помогает ли это, но вот самый простой SSCE, о котором я могу думать:
import java.net.Socket;
public class ClientTester {
public static void main(String[] args) {
Socket s = new Socket("192.168.0.1", 4440);
}
}
Кто-нибудь сталкивался с этим раньше, хотел посмотреть, была ли это проблема Java, прежде чем я перейду к публикации в Superuser.
Спасибо!
Комментарии:
1. Можете ли вы опубликовать исключение? Также ваш отчет о том, в чем проблема, и симптом немного не соответствуют действительности. Исключение UnknownHostException является прямым результатом попытки JDK разрешить имя. В вашем примере указан только адрес, который не пытается выполнить поиск по имени.
Ответ №1:
Для корректной компиляции UnknownHostException
«должно быть перехвачено или объявлено выброшенным».
Например:
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class ClientTester {
public static void main(String[] args)
throws UnknownHostException, IOException {
Socket s = new Socket("192.168.0.1", 4440);
}
}
Ответ №2:
Если это работает в обычном режиме инфраструктуры, но не в режиме ad-hoc, вы, вероятно, неправильно настроили специальный режим. Не могли бы вы показать нам свою конфигурацию /etc/network/interfaces?