如何建立自制服务器连接

时间:2011-01-08 16:58:25

标签: java linux flash

HOST

首先,我的主人是dreamhost。我有root权限。该系统是一个Linux系统。

服务器

** 更新:看起来服务器使用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();
        }
    }

我在服务器上启动了这个。该程序说它成功绑定到端口。

客户端

客户端是flash,AS3。这是我用来尝试连接的代码:

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

我很清楚沙盒政策。这是别的。我收到此错误:

IOERROR [IOErrorEvent type =“ioError”bubbles = false cancelable = false eventPhase = 2 text =“错误#2031:套接字错误.URL:http: - mydomain.net”] (替换 - 使用//,stackoverflow将其作为链接读取)

这个错误显然意味着Flash从未找到过服务器。如果它是沙盒,我会遇到安全错误。

无论如何,我如何判断端口是否正确打开,是否被阻止等等?

我也想知道这是否与它有关: http://wiki.dreamhost.com/Mod_security

我很遗憾不了解很多这些东西,但我正在努力学习。

1 个答案:

答案 0 :(得分:0)

尝试在不太可能被阻止的端口上运行您的服务器程序(例如,80,443)。当然,请确保没有其他任何东西正在使用您选择的端口。