Апплет не может создать сокет соединение на локальном хосте - PullRequest
1 голос
/ 16 апреля 2011

У меня есть Java-апплет, который после загрузки на компьютер пользователя (через веб-страницу), я хочу, чтобы он создал сокет сервера и сокет на локальном компьютере, на котором он просматривается.Разве это не разрешено?

Ответы [ 2 ]

4 голосов
/ 16 апреля 2011

Java-апплеты могут открывать Socket с их того же источника хоста. В течение примерно десяти лет они также могут открывать ServerSocket s (ОС обычно ограничивает количество прослушиваемых портов менее 1024) и принимать подключения только от хоста того же источника . Кроме того, crossdomain.xml может ослабить ограничения с 6u10.

Примечательно, что для localhost: IP-адреса вашей машины не совпадают с 127.0.0.1, код, загруженный из file URL-адреса не соответствуют сетевым соединениям с 127.0.0.1 (хотя иногда пустая строка может быть интерпретируется как localhost; также обратите внимание на то, что может указывать ваш classpath (скажем, .), который может быть загружен в приоритетном порядке по отношению к загруженному по сети коду в зависимости от того, что именно вы делаете, но не обычно через браузер), а JavaScript имеет только те же права доступа к источнику подключаться к тому же хосту только через тот же порт, с которого был загружен код.

0 голосов
/ 13 сентября 2011

если вы подпишите свой цифровой апплет, он может работать "неограниченно" http://download.oracle.com/javase/tutorial/deployment/applet/security.html, очевидно (то же самое с веб-запуском java)

...