1

我使用 tcp 协议进行了 p2p 聊天,其中每个用户都运行一个服务器(有一个 TcpListner 监听)。那是问题吗?

- - -编辑

我需要补充一点,侦听器在一个线程上,而客户端在另一个线程上

4

2 回答 2

1

不,这不是问题。每个客户端都需要在 P2P 程序中充当服务器和客户端的能力,因此您选择了正确的方法。

编辑:是的,监听器和客户端在不同的线程上是可以的。

EDIT2:这个问题及其答案可能值得一读。

于 2013-07-22T22:54:15.607 回答
0

在另一个线程上运行监听器并在另一个线程上编写很好,或者您可以使用异步监听器。那么实际的问题是,除非您使用 TCP 打孔技术,否则聊天应用程序将无法在您的 LAN 之外运行。我希望你知道你在做什么。只是为了获得更多信息,我可以在这里添加一些事实。如果您打算在 LAN 外使用该应用程序,那么您需要通过您的公共 IP 进行通信。如果您的公共 IP 不是静态的,那么您的请求将被 NAT 阻止。为了克服这个问题,您需要使用 TCP/UDP 打孔来打破 NAT。只需在谷歌上搜索,您将获得更多关于此的教程。如果它们都不适合你,请告诉我。

于 2013-07-27T16:06:25.667 回答