如何在远程服务器上启动java socket-server

时间:2012-02-09 18:35:34

标签: java sockets networking client-server

好的,我是服务器客户端应用程序的新手,我需要一些基本信息,如果我的问题不明确,请原谅我......

我想创建一个功能如下的聊天应用程序:

客户端A向服务器发送信息,服务器向客户端B发送相同的信息,反之亦然......将其视为一个简单的聊天程序。

所有通信都是通过套接字完成的,所以我会有一个服务器套接字应用程序和一个客户端套接字应用程序...我希望我的客户端应用程序在我的PC和服务器应用程序上,在远程服务器上(它将是托管在一些免费托管网站上。)

我的问题是如何在该远程服务器上启动该服务器应用程序?

提前致谢!

5 个答案:

答案 0 :(得分:1)

如果您只是想创建一个聊天客户端,我认为您不需要中间服务器。只需使用服务器和客户端套接字连接两台机器

SERVER:

ServerSocketChannel serverSocket;
serverSocket = ServerSocketChannel.open();
serverSocket.socket().bind()
serverSocket.socket().accept()

客户端:

SocketChannel clientSocket = SocketChannel.open();
clientSocket.connect();

当然,您必须正确使用bindconnect功能。阅读他们的API

答案 1 :(得分:0)

可以手动启动远程服务器。 (如果您无权访问远程服务器,或者如果您在某些第三方基础架构上托管服务器,那么他们可能有办法实现。)

为了能够通过某个程序远程启动它,您再次需要远程机器上的服务器来监听这种请求。

答案 2 :(得分:0)

通常,您希望在您的托管服务提供商(如Web服务器或inetd)上一直运行的应用程序启动(或嵌入)您的应用程序。详细信息将由您的托管服务提供商提供。

答案 3 :(得分:0)

如果你使用普通套接字,你应该寻找一些SSH登录的远程服务器。您可以在shell上启动应用程序,例如:

java -jar yourapp.jar

免费托管网站更倾向于定位想要托管其网站的客户。在我看来,这不是托管套接字应用程序的最佳选择。

出于开发目的,我一开始就坚持使用本地机器。在同一台机器上运行/测试服务器/客户端连接要容易得多,因为您不必在两台不同的机器上工作,复制代码等。

答案 4 :(得分:0)

这个tutorial相对较短,但完全涵盖了Java网络的基础知识。简单的聊天是正确的。