【问题标题】:Building a client/server application with system.net.sockets throught client firewall and router通过客户端防火墙和路由器使用 system.net.sockets 构建客户端/服务器应用程序
【发布时间】:2011-05-26 14:50:24
【问题描述】:

我正在制作一个客户端/服务器应用程序,该应用程序有一个将位于远程主机上的服务器应用程序,以及一个可能位于具有不同 IP 地址的不同客户端上的客户端应用程序。 服务器应用程序将在端口 80 上拥有他的 IP 地址,并且它将侦听不同的客户端请求。 这个客户端/服务器应用程序也将支持实时聊天,所以.......,如果不同的客户端在防火墙和路由器后面,服务器是否可以通过这些防火墙和路由器向客户端应用程序发送实时消息,并且然后也等待他们的回应。

【问题讨论】:

    标签: .net networking client-server websocket


    【解决方案1】:

    如果端口是开放的……是的。

    【讨论】:

    • 客户端应用程序有他的动态IP地址和端口每次要连接到网络。
    • 客户端应用程序有他的动态IP地址和端口每次要连接到网络。我的应用程序始终在网络上,并且修复了打开的 Ip 和端口(80)。1 当客户端应用程序调用服务器应用程序时,它通过系统分配的 ip 和端口调用它,然后服务器对其进行响应ip和端口。但是此时服务器是否可以在不接收另一个调用的情况下向客户端执行另一个发送操作?
    【解决方案2】:

    解决此问题的一种常见方法是将请求停放在服务器上,然后对其进行响应。大多数防火墙不允许您向客户端发出请求。因此,您向服务器发出异步请求,并且服务器不会返回,直到有一些有意义的东西可以发送给客户端。然后,在发送响应后,让客户端为下一段服务器数据暂停另一个请求。

    【讨论】:

    • 非常有趣的马特。但是,例如,我如何向服务器发出异步请求。 1)客户端通过他的动态IP和端口(123.123.123.123:12345)连接到服务器的IP和端口(456.456.456.456:80) 2)服务器(456.456.456.456:80)响应客户端(123.123) .123.123:12345) 3) 客户端 (123.123.123.123:12345) 向服务器 (456.456.456.456:80) 发出另一个请求,然后等待响应?你是这个意思吗?
    • 如果我的理解正确,那么是的。客户端必须向服务器发出请求并等待响应。服务器仅在客户端关心的事情发生时才响应,否则服务器只是保持连接打开。一旦客户端得到响应,它就会发送另一个请求,然后您继续这样的通信。
    • 感谢马特。我正在寻找一些用于异步服务器套接字编程的示例,我发现这个用于服务器端msdn.microsoft.com/en-us/library/fx6588te.aspx 并且在同一页面的末尾有一个客户端示例,我的客户端/服务器应用程序将是多客户端。由于我是套接字编程的新手,你能帮我吗,我走对了吗?再次提前感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多