如何在线托管TcpClient / listener(我想在线托管我的聊天服务器)

时间:2012-04-20 18:24:14

标签: tcp host

我有一个为我的窗口手机应用创建的聊天服务器。现在它在我的本地计算机上运行,​​如何在线进行,这样每个人都可以连接到它。

聊天服务器:   TcpListener chatServer = new TcpListener(4296);

聊天客户端:   TcpClient client = new TcpClient(" 127.0.0.1",4296);

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

3 个答案:

答案 0 :(得分:2)

为了让全世界都能看到它,您需要使用公共IP地址将其托管在某个地方。然后,您将在客户端连接中使用此IP地址:

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

基本上如果你想在线部署你的应用程序,你需要自己的域(你有自己的IP来托管),你可以使用云服务器来部署(这是一个不错的选择,因为你可以免费部署,但存储是仅限免费版),否则您可以在您的路由器 IP 地址上托管。

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

这里:

    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()

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

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

我希望您观看这些完整视频以正确理解:这里Video 在这些视频中,他托管是为了剥削目的,您可以托管以进行任何其他活动。

谢谢。