我正在开发一个项目,该项目是基于 C++ 中的 WinSock 的服务器客户端应用程序。我已经完成了服务器和客户端之间通信所需的任何操作,我能够在它们之间发送和接收消息。
现在我需要知道如何完成客户端到客户端消息传递部分以及必须如何完成工作。我只知道,例如客户端A和客户端B需要相互通信,客户端A必须将消息发送到服务器,服务器接收消息并将其发送给客户端B。
如果这是正确的方法,请帮助我知道服务器应该如何了解接收者(在本例中是客户端 B)?
如果我没有清楚地解释我的问题,请告诉我。
任何帮助表示赞赏。
实现此目的的一种方法是在通过实际服务器进行一些通信后让其中一个客户端充当服务器。您需要创建自己的协议。话虽如此:
1- 客户端 A:- 嘿,服务器!。告诉客户端 B 创建一个通信服务器,以便我可以直接与他通信。
2- 服务器:-嘿,客户端 B!。启动一个服务器实例并告诉我连接属性,以便我可以中继它客户端 A,以便他可以连接到您。
3- 客户端 B:- 嘿,服务器!。我已准备好接受客户端 A 的连接请求。这是我的连接属性...
4- 服务器:-客户端 A!这是客户端 B 的连接属性。接受或保留它...我完成了..
5- 客户端 A:- 嘿,服务器 B!...我可以连接吗?...
这就是协议。所以任何客户端首先向服务器发起一个请求,其中包含消息类型“我,请求连接到客户端x..”。服务器命令客户端 x,客户端 x 响应,服务器将响应中继到发起者客户端...并且您还应该实现错误处理、拒绝策略或您可以想到的其他一些东西,以便管理整个协议。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)