0

我想连接两台电脑并让它们通信。有一个不错的组件可以做到这一点吗?(最好来自 TMS,或免费),还是我只使用标准 C++ 套接字库?

发送数据呢?我应该发明一个简单的协议吗?TLV(类型/长度/值),其中 T 是消息类型,.. 你得到图片......

4

2 回答 2

4

由于您使用的是 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

于 2010-02-11T19:33:42.653 回答
1

你应该看看QtBoost。(我个人更喜欢 Qt 的网络 API 和文档,但你可能会有不同的感觉。)

对于一些简单的事情,你为什么要发明自己的协议?只需使用 HTTP。它易于使用,您可以使用各种工具来验证一切是否正常工作,而不仅仅是您自己的代码。

于 2010-02-11T10:22:44.633 回答