社区
网络及通讯开发
帖子详情
利用C++文件流的概念,能不能实现这样一个功能
kuznetsov
2010-03-20 12:07:21
利用文件流的想法:
一台能够连接到FTP的电脑A下载FTP上的文件,不经过本地保存直接发送到另一台不能连接到FTP的电脑B上。
相当于A接受到数据直接传送给B。
由于本人实在是太菜了。想问问能不能用FastNet控件实现?
我完全不知道怎么用indy..............
...全文
96
5
打赏
收藏
利用C++文件流的概念,能不能实现这样一个功能
利用文件流的想法: 一台能够连接到FTP的电脑A下载FTP上的文件,不经过本地保存直接发送到另一台不能连接到FTP的电脑B上。 相当于A接受到数据直接传送给B。 由于本人实在是太菜了。想问问能不能用FastNet控件实现? 我完全不知道怎么用indy..............
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xjq2003
2010-03-22
打赏
举报
回复
BCB利用组件传送文件
在Borland C++ Builder中,使用NMStrmServ和NMStrm组件可以很容易地在两台电脑之间传递文件。当然,你也可以使用基于FTPJ协议的文件传输组件NMFTP,但使用NMStrmServ和NMStrm组件更加方便、快捷。
首先,运行Borland C++ Builder,在窗体Form1中加入一个NMStrmServ组件和一个保存对话框组件SaveDialog。
然后在NMStrmServ1的OnMSG事件中加入:
//保存文件对话框
if(SaveDialog1->Execute())
{
//如果目标文件存在则删除
if (FileExists(SaveDialog1->FileName))
DeleteFile(SaveDialog1->FileName);
TFileStream *MyFStream;
//建立文件
MyFStream = new TFileStream(SaveDialog1->FileName, fmCreate);
try
{
MyFStream->CopyFrom(strm, strm->Size);
ShowMessage("接收成功!文件另存为"+SaveDialog1->FileName);
}
catch(...)
{
ShowMessage("接收失败!");
}
//释放
MyFStream->Free();
}
这样,一个接收文件的程序请做好了,紧接着我们做文件发送的程序:
再次运行Borland C++ Builder,在新工程的窗体上加入一个NMStrm组件、一个OpenDialog组件、一个按钮Button组件、一个Label组件和一个Edit组件。把Button1的Caption属性改为“发送文件”,把Label1的Caption属性改为“接收主机:”,把Edit1的Text属性改为“127.0.0.1”。
然后双击Button1,在它的OnClick事件中加入代码:
//打开文件对话框
if (OpenDialog1->Execute())
{
TFileStream *MyFStream;
MyFStream = new TFileStream(OpenDialog1->FileName, fmOpenRead);
try
{
//主机名
NMStrm1->Host = Edit1->Text;
NMStrm1->FromName = "NetMasters";
//发送
NMStrm1->PostIt(MyFStream);
ShowMessage("文件"+OpenDialog1->FileName+"发送成功!");
}
catch(...)
{
ShowMessage("文件"+OpenDialog1->FileName+"发送失败!");
}
MyFStream->Free();
}
代码输入完毕,分别编译运行这两个程序。编译完成后,你就可以点击发送程序的“发送文件”按钮打开一个文件来传送到远程的主机了。本例中默认的接收主机IP地址是127.0.0.1,即本地计算机,你也可以在局域网中的其它计算机上运行接收程序,再在发送程序的主机名里填入该计算机的名字或IP地址,然后打开文件发送。发送成功后,接收程序收到文件并询问保存文件,选择要保存的路径及文件名即可保存接收到的文件。
以上程序在Borland C++ Builder 5.0,Win98/Win2000中运行通过。
kuznetsov
2010-03-22
打赏
举报
回复
那如何直接把FTP上的文件转化为文件流呢?
周药师
2010-03-20
打赏
举报
回复
那你用TCP吧
把文件转换成文件流传过去
kuznetsov
2010-03-20
打赏
举报
回复
[Quote=引用 1 楼 zhouzhangkui 的回复:]
既然这样
可以用FastNet 里的TNMStrm 来传输文件
[/Quote]
FastNet 不是已经停止更新了吗?所以我想试试indy~
周药师
2010-03-20
打赏
举报
回复
既然这样
可以用FastNet 里的TNMStrm 来传输文件
UG 2023 64bit 64 位系统设计软件.rar
UG NX 2023(Unigraphics NX,中文名交互式 CAD/CAM 系统),是西门子 Siemens PLM Software 研发的 CAD/CAE/CAM 一体化产品工程解决方案,提供全套数字化造型与仿真验证手段。软件
功能
强悍,可轻松完成各类复杂实体、曲面造型构建,广泛应用于机械装备、塑胶模具、汽车零部件、航空航天、数控加工、钣金设计等工业领域。 软件仅支持 Win10、Win11 64 位系统,不再兼容 Win7,硬件配置要求适中。软件集三维建模、工程制图、数控编程、力学与运动仿真等
功能
于一体,可兼容各类主
流
设计
文件
格式。 该版本优化了装配加载速度、曲面建模能力与刀路算法,运行稳定,是当下行业主
流
版本。 由于安装包
文件
过大,CSDN 无法直接上传,附件提供下载链接及配套安装教程,欢迎下载使用。
vivado XADC IP核使用教程
vivado XADC IP核使用教程
64 位 NX2023 UG 主
流
行业版本 无偿持续分享.rar
UG(Unigraphics NX)是一款由西门子(Siemens PLM Software)开发的交互式CAD/CAM/CAE系统。作为全球领先的产品工程解决方案,它集成了产品设计、工程仿真与制造加工于一体。其
功能
强大且应用广泛,能够轻松
实现
各种复杂实体和造型的构造,为模具、汽车、航空航天及通用机械等行业提供了高性能的机械设计与制图灵活性。
【变压器的开路试验】变压器进行开路试验时的电路连接配置(Simulink仿真
实现
)
内容概要:本文详细介绍了
利用
Simulink进行变压器开路试验的电路连接配置与仿真
实现
方法,重点在于通过仿真手段还原实际电力系统中变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整
流
程,突出展示了MATLAB/Simulink在电力设备建模与教学科研中的强大
功能
与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电
流
、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文中提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。
SoloBlog.zip
SoloBlog.zip
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章