Как установить соединение с доморощенным сервером - PullRequest
0 голосов
/ 08 января 2011

HOST

Во-первых, мой хозяин - мечта. У меня есть root-доступ. Система представляет собой систему Linux.

SERVER

** ОБНОВЛЕНИЕ: похоже, что сервер использует modsecurity (modsecurity.org). Сейчас я расскажу об этом подробнее, но если у кого-нибудь есть какие-либо советы или он знает, как с ним работать, вот где я застрял. **

Во-вторых, я написал java-сервер, который связывается с портом #### и прослушивает соединения. Я могу запустить это локально и подключиться, но я пытаюсь установить его на своем сервере и подключиться откуда угодно. Это идея сервера.

    private int port;
    private ServerSocketChannel ssc;
    private Selector selector;

    public Server(int port) {
        this.port = port;               
    }

    public void run() {
        try {
            ssc = ServerSocketChannel.open();           
            selector = Selector.open();
            ssc.socket().bind((new InetSocketAddress(port)));       

            new Thread(new ReadLoop(selector)).start();
            new Thread(new AcceptingLoop(ssc, selector)).start();

            System.out.println("Bound to port " + port + " and awake:");
        } catch (IOException e) {
            System.out.println("Server could not start.");
            e.printStackTrace();
        }
    }

Я запустил это на сервере. Программа сообщает, что она успешно связана с портом.

КЛИЕНТ

Клиент - флэш, AS3. Вот код, который я использую для попытки подключения:

var mySocket:XMLSocket = new XMLSocket();
mySocket.connect("http://mydomain.net", ####);

Я хорошо осведомлен о правилах песочницы. Это что-то еще. Я получаю эту ошибку:

IOERROR [IOErrorEvent type = "ioError" пузыри = ложь отмена = ложь eventPhase = 2 text = "Ошибка # 2031: ошибка гнезда. URL: http: - mydomain.net"] (заменить - - с //, stackoverflow считывал его как ссылку)

Эта ошибка, очевидно, означает, что Flash никогда не находил сервер. Я получил бы ошибку безопасности, если бы это была песочница.

В любом случае, как мне узнать, правильно ли открыты порты, заблокированы ли они и т. Д.?

Мне также интересно, имеет ли это какое-то отношение к этому: http://wiki.dreamhost.com/Mod_security

Я, к сожалению, многого из этого не понимаю, но пытаюсь научиться.

1 Ответ

0 голосов
/ 19 апреля 2013

Попробуйте запустить серверную программу на порте, который вряд ли будет заблокирован (например, 80, 443). Конечно, убедитесь, что ничто другое не использует выбранный вами порт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...