[WT] [Архив] [Поиск] Главная Управление
[Совместно с Ычаном]

[Назад]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 5877)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаемые типы файлов: 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP
  • Максимально допустимый размер файлов: 10000 кБ.
  • Изображения, размер которых превышает 200 на 200 пикселей, будут уменьшены.
  • Ныне 1211 unique user posts. Посмотреть каталог
  • Радио:

Файл: 132310106688.jpg-(307.57KB, 640x512, 2010_08_27_00_32_a_imageshack_us_img825_83_1282816.jpg)
5877 No. 5877 watch    
Доброе утро!

Есть два жава-приложения, первое слушает сокет, второе запускает первое и посылает данные в сокет.

Если я запускаю первое из компилятора или из консоли с помощью java -jar ololo.jar то все работает хорошо. Если я запускаю первое приложение из второго с помощью Runtime.getRuntime().exec("cmd /c java -jar ololo.jar") то приложение запускается, но сокет не открывается, и при попытке обратиться к нему из второго случается эксепшн
java.net.ConnectException: Connection refused: connect

Почему так? Как заставить работать?

inb4: java.policy имеет вид
grant {
permission java.security.AllPermission;

};

молю о помощи!
>> No. 5879    
>>5877
Стектрейс и кусок кода в студию. И попробуй запустить не из второго приложения, а просто забив «cmd /c java -jar ololo.jar».
>> No. 5880    
>>5879
>а просто забив «cmd /c java -jar ololo.jar»
работает, все хорошо

кусок кода, открывающий сокет:
_server = new ServerSocket();
SocketAddress sa = new InetSocketAddress(port);
_server.setReuseAddress(true);
_server.bind(sa);
Socket connection = _server.accept();


кусок кода, запускающий приложение:
Runtime.getRuntime().exec("cmd /c java -jar ololo.jar");


кусок кода, обращающийся к сокету:
InetAddress thisIp=null;
try {
thisIp =InetAddress.getLocalHost();
} catch (UnknownHostException ex) {

}

SocketAddress sockaddr = new InetSocketAddress(thisIp.getHostAddress(),1522);
Socket _socket = new Socket();
// задаём таймаут 4 секунды
int timeoutMs = 4000;
try {
// соединяемся
_socket.connect(sockaddr, timeoutMs);

} catch (IOException ex) {
// ...
}


сейчас посмотрю что такое стектрейс и тоже дам.
>> No. 5882    
>>5880
я так и не понел как сделать стектрейс.

Из-за чего вообще может возникать подобная моей проблема?
[Назад]


Удалить сообщение []
Пароль  
[Mod]