通过C ++发送文件

时间:2010-01-19 07:35:48

标签: c++ c network-programming network-protocols

我想通过网络用C ++发送文件(用于聊天程序) 我该怎么办?

5 个答案:

答案 0 :(得分:4)

看看http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/examples.html。 Iostreams示例应该为您提供第一个好的步骤。 Asio是boost项目的便携式网络库。 Boost适用于当今大多数平台。

您可以在文件中流式传输并将其流式传输到TCP流中。

答案 1 :(得分:1)

使用开源FTP库获得更强大的应用程序。阅读基于c ++的open soruce库的this线程。

答案 2 :(得分:1)

很容易。设置TCP / IP套接字,然后将文件拆分为数据包并发送。 TCP是可靠的,因此所有数据包都将以正确的顺序到达,它将处理重新传输等。

但是,如果您需要使用不可靠的传输(例如UDP),请查看stop and wait(最简单),go-back-nselective repeat(这两者都有点难度但远远不够更有效率。)

答案 3 :(得分:0)

您可以在两者之间打开直接连接并发送文件内容。为此,一方是客户,另一方是发件人。

您可以看到一个简单的实现here

答案 4 :(得分:0)

你将做一些叫做套接字编程的事情。有关您的问题的所有详细信息和解决方案,请参阅Beej's Guide to Networking