社区
网络编程
帖子详情
FTP传数据的问题?
shally5
2004-04-17 10:59:33
FTP传数据的问题?
我有一个数据文件(M 行 * N 行的二进制文件raw的图像 )要用FTP功能发送出去,
但要求读一行数据发一行数据,直到文件结束,而不是用FTP一次将文件发出去;
因原是数据文件是由另程序按时间一行一行生成的,为了时效性,要求当文件
生成后,同时也被发送完成了。
不知如何去作呢?多谢!
...全文
61
11
打赏
收藏
FTP传数据的问题?
FTP传数据的问题? 我有一个数据文件(M 行 * N 行的二进制文件raw的图像 )要用FTP功能发送出去, 但要求读一行数据发一行数据,直到文件结束,而不是用FTP一次将文件发出去; 因原是数据文件是由另程序按时间一行一行生成的,为了时效性,要求当文件 生成后,同时也被发送完成了。 不知如何去作呢?多谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
w3guy
2004-04-19
打赏
举报
回复
CFtpConnection::OpenFile // open a remote file to write
CInternetFile::Write // write the data to the remote file
CInternetFile::Close
shally5
2004-04-19
打赏
举报
回复
我是VC新手啦!
连接FTP是不是选
#include "afxinet.h"
#include "afxtempl.h"
CInternetSession* m_pInetSession; //会话对象
CFtpConnection* m_pFtpConnection; //连接对象
//新建对话
m_pInetSession=new CInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);
try
{
//新建连接对象
m_pFtpConnection=m_pInetSession->GetFtpConnection(m_strServer,m_strUserName,
m_strPassword);
}
catch(CInternetException *pEx)
{
}
发送时如何发啊!…
总不能m_pFtpConnection->PutFile( strLocalFile,strRemoteFile));
按文件发吧?
sboom
2004-04-18
打赏
举报
回复
上面不是说了么。
itmaster
2004-04-18
打赏
举报
回复
学习
w3guy
2004-04-18
打赏
举报
回复
生成文件的程序用共享模式打开文件,然后写。
发送程序也用共享模式打开文件读,边读边发送,读到文件尾后,Sleep 一段时间再读,如果有数据再发送,只要调节好sleep 时间就可以了。
举个简单例子。
生成文件的程序
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#define NAME "c:\\test.dat"
int main(int argc, char* argv[])
{
HANDLE hFile = CreateFile(NAME,GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile == INVALID_HANDLE_VALUE) return -1;
for(int i=0;i< 10;i++) {
DWORD len = 0;
printf("Writing %d to file\n",i);
WriteFile(hFile,&i,sizeof(i),&len,NULL);
Sleep(3000); //模仿生成文件时的延时
}
CloseHandle(hFile);
return 0;
}
发送程序:
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#define NAME "c:\\test.dat"
int main(int argc, char* argv[])
{
HANDLE hFile = CreateFile(NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile == INVALID_HANDLE_VALUE) return -1;
int data;
DWORD len = 0;
int nTry = 0;
while(ReadFile(hFile,&data,sizeof(data),&len,NULL))
{
if( len == 0 ) {
if(nTry>3) break;
Sleep(2000); //等待2秒再读,共试三次
nTry++;
continue;
}
nTry = 0;
//You can send data to FTP server here
printf("Read %d\n",data);
}
CloseHandle(hFile);
return 0;
}
shally5
2004-04-18
打赏
举报
回复
现在我以共享方式读文件,显示数据都已作好了,就是不知道如何将数据
一行一行的通过FTP发送到W2000的IIS的FTP服务器上啊?
shally5
2004-04-18
打赏
举报
回复
Ftp服务方是Windows2000的IIS的FTP服务啊!
danscort2000
2004-04-18
打赏
举报
回复
使用RSET指令就可以了,如果对方支持断点续传的话
请参考RFC文档
这样如果每隔5分钟传一次,
只要取得文件长度,
使用RESET指令将指针移动到最后,使用添加数据就可以了。
sboom
2004-04-18
打赏
举报
回复
////发送线程
连接服务器
打开文件上传的连接
while(1)
{
阻塞等信号;
读取1行;
发送一行;
}
//////
另1线程写完1行后发信号
///
不知道行不行呢,我对FTP协议不是很了解。。。。
jinxuliang
2004-04-17
打赏
举报
回复
没做过!不过有个呆一点的思路:每读一行数据写到临时文件;每次上传到服务器上,把临时文件写到文件的末尾!
CInternetFile::Write
virtual void Write( const void* lpBuf, UINT nCount );
throw CInternetException( );
Parameters
lpvBuf
A pointer to the first byte to be written.
nCount
Specifies the number of bytes to be written.
Remarks
Call this member function to write into the given memory, lpvBuf, the specified number of bytes, nCount. If any error occurs while writing the data, the function throws a CInternetException describing the error.
暗黑帝国
2004-04-17
打赏
举报
回复
gz
计算机网络
ftp
的作用是,
FTP
、
FTP
服务器是什么?又有什么作用?
对大多数用户来说,基本上没有了解的必要,大多数情况下,只有网管或站长才会实际接触这两个
问题
。正所谓,多学些知识也无妨,那就随小编一下来学习吧!1、
FTP
FTP
(File Transfer Protocol,文件
传
输协议),是TCP/IP...
FTP
的控制连接和
数据
连接分别是做什么的?主动模式和被动模式有什么区别?
你知道
FTP
的控制连接和
数据
连接分别是做什么的吗? 你知道
FTP
的主动模式和被动模式有什么区别吗? 你知道实际工作中,会使用主动
FTP
还是被动
FTP
吗?又是为什么呢? 一、
FTP
的两种连接
FTP
(文件
传
输协议)是...
serv-u
ftp
server是什么?如何利用花生壳搭建
ftp
服务器?
serv u
ftp
是一种被广泛运用的
ftp
服务器端工具,是
ftp
连接服务器的桥梁,也是站长远程维护网站的重要工具。现在很多朋友对它还不太了解,下面小编为大家普及一下什么是serv u
ftp
?花生壳如何搭建
ftp
服务器? ...
S
FTP
是什么协议?优势有哪些?与
FTP
有什么不同?
安全文件
传
输协议S
FTP
(SSH File Transfer Protocol)是文件
传
输协议(
FTP
)的安全版本,也是SSH协议的一部分,可通过安全SHELL(SSH)
数据
流轻松进行
数据
传
输和
数据
访问。S
FTP
也被称为SSH文件
传
输协议。它提供了一个安全...
什么是
FTP
?
FTP
端口号是多少?
FTP
的端口号能改吗?
ftp
的端口号20、21有何区别?
ftp
命令?...
什么是
FTP
?...一个是
数据
端口,一个是控制端口,控制端口一般为21,而
数据
端口不一定是20,这和
FTP
的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定
FTP
Port模式和
网络编程
18,356
社区成员
64,217
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章