【发布时间】:2015-10-09 15:40:27
【问题描述】:
PHP有一个非阻塞上传文件的函数ftp_nb_put(), 但我想知道 sftp 和 ftps 是否可以进行非阻塞 ftp 上传。
如果没有,还有哪些其他语言为 sftp/ftps 提供非阻塞 ftp 上传?
谢谢。
【问题讨论】:
PHP有一个非阻塞上传文件的函数ftp_nb_put(), 但我想知道 sftp 和 ftps 是否可以进行非阻塞 ftp 上传。
如果没有,还有哪些其他语言为 sftp/ftps 提供非阻塞 ftp 上传?
谢谢。
【问题讨论】:
非阻塞操作与语言无关,而是与特定的软件组件有关。只要您拥有适当的组件,您就可以使用任何语言进行非阻塞传输。在 .NET、Java、Delphi 中有很多这样的组件。
在 PHP 中,您可以使用spawn an external process,它将在后台执行上传。
【讨论】:
这与语言无关,而是拥有一个支持非阻塞操作的库。
PHP SSH2 函数不支持非阻塞操作。 phpseclib 都没有。
但您可以使用Thread PECL class 将下载代码移至单独的线程。
示例见:
How can one use multi threading in PHP applications
或者为传输生成一个外部进程。
【讨论】: