我认为我对网络和点对点应用程序的工作方式存在根本性的误解,如果有人能帮我解决问题,我会非常感激。
我正在设计一个小型点对点文件共享应用程序,似乎我无法连接到另一个网络上的设备,而无需将端口从路由器转发到该设备。这似乎相当乏味;如果使用该应用程序的每个人都必须将端口转发到他们的设备,则会使该应用程序不实用。 p2p应用程序是否有某种方式直接相互通信,或者p2p应用程序实际上只是一组服务器和客户端应用程序协同工作以形成网络?
换句话说,我是否需要在一台机器上转发端口并最初将其用作服务器,然后随着网络变大,希望其他人也这样做?或者有什么我不知道/不了解p2p通信是如何工作的?