如何通过socket编程在两台机器之间发送文件?

Posted

技术标签:

【中文标题】如何通过socket编程在两台机器之间发送文件?【英文标题】:How to send files b/w two machines through socket programming? 【发布时间】:2009-05-07 14:58:13 【问题描述】:

我需要将目录中的所有文件发送到不同的机器,目录内部可能包含子目录。

在这方面有任何帮助吗?

还有一个疑问是:我还听说我们可以使用 FTP 发送文件,如果可以的话,这两者之间最好。对此有什么帮助吗?

我需要在windows平台上使用vc++/c++实现这个

谢谢

【问题讨论】:

你为什么不使用 FTP?它已经实施并且已经有效。有很多免费的 FTP 客户端。大多数 Windows 机器都可以轻松访问 FTP 服务器。 FTP有什么问题? 这听起来像是批处理文件或脚本语言(VB 脚本、Python)和操作系统的网络功能(网络共享和/或 FTP)的工作。这里还有更多的故事吗? 【参考方案1】:

一种可能性是 Windows API 中的 TransmitFile() 函数。您必须遍历目录才能使用自己的代码查找各个文件。

【讨论】:

我猜,你是唯一的,你已经明白我想在 windows 中使用 vc++ 以编程方式发送文件。【参考方案2】:

您可能应该在源端合并和压缩文件/目录。 在另一端传输和解绑。

提供帮助的库(免费)是 bzip (http://www.bzip.org/)

如果你做得好,你应该可以在内存中做所有事情,但你也可以使用中间文件。

【讨论】:

【参考方案3】:
    听起来像是一道作业题。 FTP 在内部使用套接字。

对问题进行初步尝试并将其发布在此处。如果人们认为您正在尝试,而不仅仅是免费下载,您将获得更多帮助。

【讨论】:

以上是关于如何通过socket编程在两台机器之间发送文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在两台机器之间通过 IP 建立非静态 L2TPv3 套接字连接

Socket 编程

使用git在两台机器间同步代码

使用git在两台机器间同步代码

使用git在两台机器间同步代码

如何在两台计算机之间传输数据?