1

我开始接触套接字编程。目前,我正在使用 scp 在服务器和客户端之间传输数据,它在处理数据流时扩展性非常差(似乎每个新的 scp 会话都需要打开一个新的 TCP 连接,这确实降低了速度)。

我想将文本传输到多个客户端,在一天之内,该文本的大小可能达到几 GB,因此实现某种压缩是关键。

任何人都可以推荐一些可以简化编写此代码的好的库或包装器吗?标准的 C++ 套接字接口使用起来非常麻烦。到目前为止,我唯一的领导是 Boost ASIO,但它似乎没有压缩功能。任何建议将不胜感激。

4

3 回答 3

2

对于压缩部分,您可以使用zlib。zlib有很多C++ 接口,或者您可以直接使用它来压缩和解压缩消息。

于 2012-07-09T03:55:38.843 回答
1

尝试UDT

UDT 是一种可靠的基于 UDP 的应用程序级数据传输协议,用于广域高速网络上的分布式数据密集型应用程序。UDT 使用 UDP 传输具有自己的可靠性控制和拥塞控制机制的批量数据。

我真的不知道压缩是否可用...

于 2012-07-08T20:09:42.647 回答
1

压缩和多播是两个正交的问题。正如之前的海报所说,选择最适合您的数据的压缩库。

对于多播有多种选择,OpenPGM 和 RSP 是开源的。

于 2012-07-09T13:12:19.947 回答