c#套接字服务器 - 部署,启动,停止

时间:2012-05-14 13:13:47

标签: c# sockets

在套接字服务器上进行在线部署时,我有点困惑。

在本地运行很好,因为大多数教程都会让你创建一个我可以执行的服务器应用程序和客户端应用程序。现在已经完成了一段时间,我很高兴但是现在我想用网络主机来尝试。

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

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

[编辑] 很棒的答案伙计们谢谢你。惭愧我只能将一个标记为答案。

3 个答案:

答案 0 :(得分:2)

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

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

因此,您需要一台允许您安装和运行应用程序的主机,例如Virtual Private Server服务,租用physical server或使用Amazon EC2等云服务

您通常使用远程桌面或SSH进入您租用(或拥有)的服务器,以便以普通应用程序,服务或守护程序的形式上传和启动应用程序。

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

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

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

然后,您还可以使用DynDns等DNS服务为该IP地址分配域名。

答案 1 :(得分:1)

除非您的套接字服务器使用HTTP作为协议,否则您无法做到这一点。

您正在为服务器使用端口,对吗?端口用于标识要与之通信的应用程序。

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

所以你应该做的是将套接字服务器放在你的主机上并告诉你的客户/用户他们可以在主机上的端口XXX连接到你的套接字服务器" www.mywebpage.com&#34 ;

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

答案 2 :(得分:0)

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