|
|
导航: |
论坛 -> 网络通讯
斑竹:liumazi,sephil |
|
作者: |
|
2021/2/28 12:38:36 |
标题: |
用哪种TcpIp组件来发送和接收文件比较好? |
浏览:1839 |
|
加入我的收藏 |
楼主: |
场景:用线程实现的定时器任务,该线程内部需要发送文件到远端服务器。文件大小有可能是几个G。 目前考虑用Tcp协议来实现。在网上爬了一圈,发现Indy的例子比较多。
所以有几个疑问。 1,Indy的线程是否会和我预设的任务线程存在某种矛盾关系? 2,Indy对大文件发送接收是否需要有特殊处理或者存在某种限制? 3,Indy对连接异常的处理是否需要重度特殊干预?
4,是否有其它比较轻便的Tcp协议组件可以很方便的实现文件发送?
本人的水平比较低……太复杂的东西可能得研究比较长的时间,所以,请各位大佬有时间剧透一下。
----------------------------------------------
z@S7 |
作者: |
|
2021/2/28 14:10:13 |
1楼: |
如果可能的话,考虑用ftp。 如果是windows的话,考虑用wininet或者winhttp 如果是需要跨平台的话,考虑标准http协议 如果协议固定无法更改,那该咋咋滴
----------------------------------------------
--
|
作者: |
|
2021/3/1 10:51:06 |
2楼: |
楼主: 1. 使用 Indy 没有任何问题,而且使用起来相对比较简单; 2. 多线程编程,你自己必须要懂。 3. 连接异常,Indy 会弹异常但你要自己解决。
另外,FTP 也是基于 TCP 的。如果服务器端可以用 FTP,你自己安装一个 FTP SERVER 比自己写一个接收服务,应该省事并且更稳定;之前我也用 Indy FTP Server 做过自己写的 FTP SERVER。不过我还是建议用现成的。
大文件没问题。问题是如果 TCP 上面的文件传输协议是你自己写的话,你要自己处理断线续传。因为文件太大,传的时间长,中途说不定就断掉。
----------------------------------------------
-
|
|