【问题标题】:how to launch java socket-server on remote server如何在远程服务器上启动 java socket-server
【发布时间】:2012-02-09 18:35:33
【问题描述】:

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

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

客户端 A 向服务器发送信息,服务器向客户端 B 发送相同的信息,反之亦然……把它想象成一个简单的聊天程序。

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

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

提前致谢!

【问题讨论】:

  • 这个问题有点令人困惑...如果您需要在远程机器上启动应用程序,您可以使用ssh 例如。
  • 阅读 Java 文档中的 ServerSocket 类

标签: java sockets networking client-server


【解决方案1】:

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

服务器:

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

客户:

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

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

【讨论】:

    【解决方案2】:

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

    为了能够通过某个程序远程启动它,您还需要在远程计算机上安装一个服务器来侦听此类请求。

    【讨论】:

    • 我找到了有 Apache 的托管服务提供商?会吗?
    【解决方案3】:

    通常,您需要一个始终在您的托管服务提供商处运行的应用程序(例如 Web 服务器或 inetd)来启动(或嵌入)您的应用程序。详细信息将取决于您的托管服务提供商提供的内容。

    【讨论】:

    • 您知道提供此类服务的任何免费托管计划吗?谢谢
    【解决方案4】:

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

    java -jar yourapp.jar
    

    免费托管网站的目标客户是希望托管其网站的客户。在我看来,这不是托管套接字应用程序的最佳选择。

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 2014-06-01
        • 2014-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-26
        • 2021-06-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多