我正在学习网络编程,我想创建一个基于 TCP 连接的简单 P2P 网络。
到目前为止,我有一个接受来自客户端(TCP)的连接的服务器。客户端知道服务器的初始位置。
这些是我的问题:
服务器如何相互通知客户端?是否只是将每个人的 IP 地址列表发送给每个人?
如果所有客户端都在同一台机器上运行(例如 127.0.0.1),它们在相互连接时是否需要使用不同的端口号?
如果我想保持 TCP 连接,对等点如何决定每对中谁是客户端,谁是服务器?当他向客户端发送信息时,也许这可以在服务器端完成。
我假设 TCP 连接在这种情况下并不理想,至少因为客户端必须为网络中的每个对等方维护单独的连接。虽然这更像是一个训练练习,我正在寻找一个可靠的连接,在那里我不必处理一些数据包丢失/乱序的可能性。(在这个阶段:)。
谢谢!