在Boost Asio中实现无服务器P2P UDP聊天的最简单直接的方法是什么?聊天将在互联网上进行。有现成的UDP示例,但它们都维护客户端-服务器方法!
发布于 2012-01-02 01:49:40
我假设您所说的无服务器是指没有中央控制服务器的P2P网络。
我想你的问题和boost-asio没什么关系。asio是一个跨平台的网络库。您提出的问题似乎更多是网络工程类型的问题,而asio只是您可以用于实施的工具之一。
示例是客户端-服务器,因为示例应用程序可能属于客户端-服务器体系结构。但是,用于发送和接收消息的套接字代码(或asio使用)将看起来是相同的,而与客户机-服务器或P2P应用程序无关,也就是说,您将消息发送到一个地址,然后在指定的端口上接收消息。不同之处在于协议层,但这与asio本身无关。
您可能对以下内容感兴趣,也可能不感兴趣:IMO没有简单的方法:位于防火墙和NAT之后的用户意味着您需要使用STUN、TURN和ICE等技术来解析地址,或者在最坏的情况下中继数据。所有这些设计都需要一个服务器。
https://stackoverflow.com/questions/8693394
复制相似问题