Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Клиент на основе XMLSocket (http://www.flasher.ru/forum/showthread.php?t=86475)

Webas 19.10.2006 14:33

Может надо посылать XML файл с настройками безопасности?
Может что-нить в этом духе :
Код:

<cross-domain-policy>
<allow-access-from domain="*" to-ports="507" />
<allow-access-from domain="*.foo.com" to-ports="507,516" />
<allow-access-from domain="*.bar.com" to-ports="516-523" />
<allow-access-from domain="www.foo.com" to-ports="507,516-523" />
<allow-access-from domain="www.bar.com" to-ports="*" />
</cross-domain-policy>


FourSide 19.10.2006 15:06

Я не силён в Java, но мне кажется, что такой код
Код:

import java.io.*;
import java.net.*;

public class Server {
    public static void main(String[] args) throws IOException {
        ServerSocket server = new ServerSocket(9587);
        Socket socket = server.accept();
        PrintWriter out = new PrintWriter( new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
        out.println("Hello");
        server.close();
        socket.close();
    }
}

не ждёт коннекта от клиента, а закрывается сразу после открытия. И не понятно, куда и кому отправляется этот "Hello". По крайней мере, логика сокета отличается от других языков. Я бы попробовал сделать сервер на каком-нибудь визуальном языке (Delphi, например), где установка сервера делается несколькими нажатиями и протестировать клиента.
На крайний случай, проверить живой ли сервер можно через Telnet.

integer 19.10.2006 17:34

Оказалось (впрочем, как я и ожидал), что ларчик просто открывался. Проблемс у меня с серверным кодом, а именно класс PrintWriter при конвертации из потока OutputStream в поток Writer, использует буфер и по умолчанию не отсылает данные, пока тот полностью не забьется. Надо было всего лишь добавить в его констуктор второй параметр - true и тогда он отсылает каждую строку сразу:
Код:

PrintWriter out = new PrintWriter( new BufferedWriter(new
OutputStreamWriter(socket.getOutputStream())), true);

Цитата:

Сообщение от FourSide
Я не силён в Java, но мне кажется, что такой код не ждёт коннекта от клиента, а закрывается сразу после открытия. И не понятно, куда и кому отправляется этот "Hello". По крайней мере, логика сокета отличается от других языков. Я бы попробовал сделать сервер на каком-нибудь визуальном языке (Delphi, например), где установка сервера делается несколькими нажатиями и протестировать клиента.
На крайний случай, проверить живой ли сервер можно через Telnet.

Твое предположение неверно, т.к. функуция ServerSocket.accept() как раз таки заставляет программу остановиться и ожидать пока не произойдет коннект. Но именно размышления над твоим постом, заставили меня понять суть ошибки, за что тебе огромнейшее спасибо.
Интересно, почему здесь, на форуме, все поголовно любят писать серверную часть на Delphi? (некоторые, правда, умудряются писать на ПХП :taunt: ) Я, например, на дух не переношу Паскаль и все, что с ним связано (согласись, вещь устаревшая).
Кстати, как можно видеть из моего первого поста, сначала я писал на С++Builder. Если я правильно понимаю, эта среда относится к "визуальным языкам". Самое интересное, что там работало также, как и на Яве (до сих пор не могу понять почему). Поэтому-то я долго не мог поверить, что проблемы действительно в сервере.

integer 19.10.2006 17:39

Цитата:

Сообщение от Webas
Может надо посылать XML файл с настройками безопасности?
Может что-нить в этом духе :
<cross-domain-policy>
<allow-access-from domain="*" to-ports="507" />
<allow-access-from domain="*.foo.com" to-ports="507,516" />
<allow-access-from domain="*.bar.com" to-ports="516-523" />
<allow-access-from domain="www.foo.com" to-ports="507,516-523" />
<allow-access-from domain="www.bar.com" to-ports="*" />
</cross-domain-policy>

Хотя, я и раобрался со своей проблемой, но вот связи с этим твоим постом, меня заинтересовали эти самые настройки безопасности. Не мог бы ты просвятить зачем они вообще нужны и как работают, или лучше ссылочку какую-нить дать, где это объясняется?

Nirth 19.10.2006 17:41

http://www.moock.org/asdg/technotes/...inPolicyFiles/

integer 19.10.2006 17:46

Цитата:

Сообщение от Nirth

Мдя, спасибо, конечно.....:confused: А нет ли чего-нить на родном языке, дабы потратить на прочтение не сутки, а минут 20....:)

Nirth 19.10.2006 17:48

Не интересовался, но я думаю ты можешь, выловить из той статьи ключевые слова, и забросить их в гугл с настроками "искать на русском" =)?

integer 19.10.2006 17:52

Цитата:

Сообщение от Nirth
Не интересовался, но я думаю ты можешь, выловить из той статьи ключевые слова, и забросить их в гугл с настроками "искать на русском" =)?

Мда, видимо, прийдется так и поступить....

FourSide 19.10.2006 18:08

На более русском языке :)
http://www.sharedfont.com/liveDocs/H.../00001097.html


Часовой пояс GMT +4, время: 07:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.