2

当谈到在线部署套接字服务器时,我有点困惑。

在本地运行很好,因为大多数教程都会让您制作一个我可以执行的服务器应用程序和一个客户端应用程序。现在做了一段时间,我对它很满意,但现在我想使用虚拟主机尝试它。

如何将套接字服务器部署到我的 Web 主机然后运行服务器?我是否只是将程序上传到服务器并运行 www.mywebpage.com/mysocketserver(假设程序称为 mysocketserver.exe)

可能听起来像一个愚蠢的问题,但我有一个脑死的时刻。

[编辑] 很好的答案,谢谢。不好意思,我只能标记一个作为答案。

4

3 回答 3

2

大多数托管服务与网站相关:您将网站上传到他们的服务器,主机负责配置应用程序。

但是,您还没有编写由 Web 服务器提供服务的网站,而是一个套接字服务器,它更类似于运行网站的 Web 服务器本身。

因此,您将需要一台允许您安装和运行应用程序的主机,例如虚拟专用服务器服务、租用物理服务器或使用Amazon EC2等云服务。

您通常将远程桌面或 SSH 连接到您租用(或拥有)的服务器,以将应用程序作为普通应用程序、服务或守护程序上传和启动。

在主机服务器上安装套接字服务器并启动运行的应用程序后,您应该能够使用服务器的 IP 地址和运行套接字服务器的端口来联系您的服务。

例如,如果您的 ip 地址是 10.0.0.1,并且您已经编写了套接字服务器以侦听端口 1234,那么您应该能够通过地址 10.0.0.1:1234 联系您的服务。

考虑允许访问该端口的防火墙。

然后,您还可以使用 DNS 服务(例如DynDns)将域名分配给该 IP 地址。

于 2012-05-14T13:26:25.550 回答
1

除非您的套接字服务器使用 HTTP 作为协议,否则您不能这样做。

您正在为您的服务器使用端口,对吗?这些端口用于识别要与哪个应用程序通信。

当您使用“”浏览网页时,您真的说让我使用端口(为 HTTP 注册)http://something获取可以在 IP 1.2.3.4(DNS 查找)上找到的内容。80您不必在浏览器中指定端口,因为所有浏览器都知道 HTTP 使用端口 80。

所以你真正应该做的是将套接字服务器放在你的主机上,并告诉你的客户/用户他们可以在主机“ www.mywebpage.com”上的端口 XXX 连接到你的套接字服务器。

如果您已经构建了一个客户端,您只需在其中硬编码端口或自动指定默认端口。

于 2012-05-14T13:25:39.693 回答
0

Internet 中的问题是路由/名称转换,因此 mywebpage 被转换为正确的 IP 地址。
您的网络服务器需要一个固定的公共 IP 地址,或者您需要使用像 dynds 这样的服务,它将您不断变化的 IP 地址动态映射到静态名称。

于 2012-05-14T13:20:25.830 回答