我想连接两台电脑并让它们通信。有一个不错的组件可以做到这一点吗?(最好来自 TMS,或免费),还是我只使用标准 C++ 套接字库?
发送数据呢?我应该发明一个简单的协议吗?TLV(类型/长度/值),其中 T 是消息类型,.. 你得到图片......
我想连接两台电脑并让它们通信。有一个不错的组件可以做到这一点吗?(最好来自 TMS,或免费),还是我只使用标准 C++ 套接字库?
发送数据呢?我应该发明一个简单的协议吗?TLV(类型/长度/值),其中 T 是消息类型,.. 你得到图片......
由于您使用的是 C++ Builder,因此您确实应该使用 Indy 组件,它们经过良好测试并且易于使用一组网络组件......并且它们已经内置到 C++ Builder 中。如果您使用的是 C++ Builder,那么使用 Qt 或 boost 可能会出现问题(当然取决于 C++ Builder 版本)。
Indy 组件: http: //www.indyproject.org/index.en.aspx
使用 Indy 组件,您可以获得几乎所有类型的网络开发所需的所有组件,它是迄今为止我所见过的 C++Builder/Delphi 最完整的网络解决方案。
您可能会发现这篇文章很有趣:Developing TCP/IP-based Server Applications using Indy Components [1]它展示了 Delphi 中的示例,但转换为 C++ 应该很简单。
除了Delphi in Depth [2]这本书是一个很好的资源,并且还包含 C++ 示例。
关于开发自己的协议,几乎不可能用明确的答案来回答这个问题,这实际上取决于您的要求。也许您应该首先问,在您最终重新发明轮子之前,是否有适合我的现有协议。
[1] http://conferences.embarcadero.com/article/33256
[2] http://www.atozed.com/indy/book/index.en.aspx