怎样传送图片?请高手指教!

chensy0626 2002-11-28 10:22:34
我想用Socket在两台机器之间传送一幅Bmp图片,在接收端显示出来,假设两台机器的
Socket已经连接,我用如下方法:
客户端:
if (OpenDialog1->Execute())
{
TMemoryStream *pMem = new TMemoryStream;
pMem->LoadFromFile(OpenDialog1->FileName);
send(Socket, (char *)pMem , sizeof(pMem), 0);
delete pMem;
}
服务器端:
char pBuf[65536]; //假设此空间足够大
recv(Socket, pBuf, sizeof(pBuf), 0);
Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
pBitmap->LoadFromStream((TMemoryStream *)pBuf);
Image1->Picture->Assign(pBitmap);
delete pBitmap;
以上代码不太完善,只是说明两端执行流程,这样在服务器端接收到的数据和发送过来的不同,请各位多多指教,或者告诉我其它的办法。
...全文
58 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hait 2002-11-28
  • 打赏
  • 举报
回复
采用Stream发送,并且以Stream的形式接收!试试吧!
wjh1014 2002-11-28
  • 打赏
  • 举报
回复
可以用TNMStrm和TNMStrmServ 配合发送接收。
builder自带例子在
C:\Program Files\Borland\CBuilder5\Examples\FastNet\stream

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧