gpt4 book ai didi

java - 如何建立自制服务器连接

转载 作者:太空宇宙 更新时间:2023-11-04 04:29:41 25 4
gpt4 key购买 nike

主机

首先,我的主机是dreamhost。我有 root 访问权限。系统为linux系统。

服务器

**更新:看起来服务器使用了 modsecurity (modsecurity.org)。我现在会进一步研究它,但如果有人有任何提示或知道如何使用它,那就是我现在陷入困境的地方。 **

其次,我编写了一个 Java 服务器,它绑定(bind)到端口 #### 并监听连接。我可以在本地运行并连接,但我试图将其放在我的服务器上并从任何地方连接。这就是服务器背后的想法。

    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();
}
}

我在服务器上启动了这个。程序表示已成功绑定(bind)到端口。

客户端

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

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

我非常了解沙盒政策。这是另一回事。我收到此错误:

IOERROR [IOErrorEvent type="ioError"bubbles=false cancelable=false eventPhase=2 text="Error #2031: Socket Error. URL: http:--mydomain.net"](将 -- 替换为//,stackoverflow 正在将其作为链接读取)

此错误显然意味着 Flash 从未找到服务器。如果是沙箱,我会收到安全错误。

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

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

不幸的是,我不太理解这些东西,但我正在努力学习。

最佳答案

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

关于java - 如何建立自制服务器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com