Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Апплеты > Соединение апплета с сервером


Автор: nullpoint 2.4.2015, 15:54
Написал простенький апплет, который при нажатии на кнопку соединяется с сервером и отправляет ему данные из текстового поля
Код

try {
    Socket socs = new Socket("192.168.1.2", 80);
    DataOutputStream out = new DataOutputStream(socs.getOutputStream());
    
    out.writeBytes(txtField.getText());
    out.close();
    socs.close();
}
catch (IOException e) {
    e.printStackTrace();
}

Если запускать апплет в AppletViewer, то все работает нормально, происходит соединение и данные отправляются (смотрю трафик в Wireshark). Если же встроить апплет в страницу и загрузить страницу с веб сервера и запустить апплет, то соединение с веб сервером (тем же откуда грузиться страница и апплет) происходит, но затем апплет запрашивает crossdomain.xml. Я создал crossdomain.xml следующего вида:
Код

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
   <allow-access-from domain="*" />
</cross-domain-policy>

По трафику видно, что сервер отправляет данный xml, но на этом соединение закрывается апплетом и данные не передаются. С чем может быть проблема? На java'е пишу второй день.

Автор: AntonSaburov 13.4.2015, 14:51
Хорошо бы посмотреть, что пишется в консоль апплета - какие ошибки. Может проблема в политике безопасности, может еще что.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)