Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在线托管TCP客户端/侦听器(我想在线托管聊天服务器)_Tcp_Host - Fatal编程技术网

如何在线托管TCP客户端/侦听器(我想在线托管聊天服务器)

如何在线托管TCP客户端/侦听器(我想在线托管聊天服务器),tcp,host,Tcp,Host,我有一个聊天服务器,我为我的Windows phone应用程序创建。现在它在我的本地计算机上工作,我如何使它在线,以便每个人都可以连接到它 聊天服务器: TcpListener chatServer=新的TcpListener(4296) 聊天客户端: TCP客户端=新的TCP客户端(“127.0.0.1”,4296) 如何转发端口以便在线托管它 为了让全世界都能看到它,你需要把它放在一个有公共IP地址的地方。然后,您将在客户端连接中使用此IP地址: Chat client: TcpClient

我有一个聊天服务器,我为我的Windows phone应用程序创建。现在它在我的本地计算机上工作,我如何使它在线,以便每个人都可以连接到它

聊天服务器: TcpListener chatServer=新的TcpListener(4296)

聊天客户端: TCP客户端=新的TCP客户端(“127.0.0.1”,4296)


如何转发端口以便在线托管它

为了让全世界都能看到它,你需要把它放在一个有公共IP地址的地方。然后,您将在客户端连接中使用此IP地址:

Chat client: TcpClient client = new TcpClient("xxx.xxx.xxx.xxx", 4296);

根据您的平台,您可以使用Google App Engine或Amazon Web服务快速部署您的应用程序。

这取决于您的路由器/网关。有关如何转发端口的更多信息,请查看路由器文档。

基本上,如果您想在线部署应用程序,您需要自己的域(您将自己的IP连接到主机),您可以使用云服务器进行部署(这是一个不错的选择,因为您可以免费部署,但免费版的存储空间有限),或者你可以在你的路由器IP地址上托管

如果您使用前两个选项,那么这是一个python脚本,用于在给定的IP和端口上启动侦听器服务

在这里:

这只是一个示例,您可以将所有代码从PC放到云上,并编辑IP中的更改

如果你想让你的路由器监听客户端,那么你必须进入路由器登录页面,对于大多数路由器,它是192.168.51.1,在这里以管理员身份登录,然后你应该进入防火墙配置,在那里你会找到自定义服务器的选项,然后点击它,然后在那里配置ip地址、端口,等来主持

我更喜欢你看这些完整的视频来正确理解:这里 在这些视频中,他是出于剥削目的而主持的,您可以主持其他任何活动


谢谢。

您如何获得公共IP地址。。。Google App Engine是否只适用于java?那么我是否只需要找到我计算机的公共IP地址,然后连接到该IP地址?你说过你希望能够从internet访问它,对吗?这意味着你需要在云上的某个地方托管你的应用程序。谷歌“网络托管”。然后在那里上传你的应用程序,最后获取服务器的IP地址,这样你就可以从互联网上的任何地方访问它。您可以在GAE上使用java和python。很酷,看看吧。我在www.dotnet-host.com有一个帐户。。。我可以发布他们的应用程序吗?我没听说过他们,但如果他们提供网络托管,试试看。如果您使用的是java签出GAE,那么部署非常简单
    import socket
    import sys
    HOST =''   # Symbolic name, meaning all available interfaces
    PORT = 8000 # Arbitrary non-privileged port
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    print 'Socket created'

    try:
        s.bind((HOST, PORT))
    except socket.error as msg:
        print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
        sys.exit()
    print 'Socket bind complete'
    #Start listening on socket
    s.listen(10)
    print 'Socket now listening'
    #now keep talking with the client
    while 1:
        #wait to accept a connection - blocking call
        conn, addr = s.accept()
        print 'Connected with ' + addr[0] + ':' + str(addr[1])
    s.close()