我希望创建一个用C++编写的聊天应用程序(桌面应用程序),那么我需要学习和实现哪种协议?UDP(?)
请给我一些好的想法、建议和链接。
请给我一些好的想法、建议和链接。
您没有提供太多细节!
如果您的目的是制作一个完全可用且功能丰富的聊天应用程序,我建议您查看XMPP,这是一种开放的即时通讯协议。 这里列出了一些实现它的库。
如果您的目的是学习网络编程,并且您更关注UDP与TCP之间的区别,那么UDP对于聊天应用程序来说是一个不好的选择,因为它不能保证数据的完整性或顺序。您的消息可能(并且会!)以错误的顺序接收或甚至有些消息会丢失。 TCP会对此进行检查。
在中间(非常简单的聊天应用程序)中,您可以实现自己的协议,并使用其他人建议的库,如Boost.asio,ACE,POCO,甚至是wxWidgets和Qt,它们将简化套接字处理,并为最后2个构建桌面应用程序提供所需的内容。