c# 客户端 服务器传输文件,通过TCP在C++客户端/ C#服务器之间传输文件

我目前正尝试通过TCP在C++客户端和C#服务器之间发送jpeg图片流。 我在C++端使用transmitFile函数,但我不知道我是否在C#端正确处理它。 我没有得到运行时错误,但图片没有显示,所以我想我错过了一些东西。通过TCP在C++客户端/ C#服务器之间传输文件

编辑:更新后的代码,我收到正在做一个计算器档案大小...

C++代码(客户端:发送图片)

void TCPclient::sendPicture(LPCWSTR filename, std::string filename_str)

{

HANDLE hFile = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);

//Send file size

send(sock, (const char*)GetSize(filename_str), sizeof(int), 0);

LogManager::log(std::to_string(GetSize(filename_str)));

//Send file

TransmitFile(sock, hFile, GetFileSize(hFile, NULL), 1024, NULL, NULL, TF_USE_KERNEL_APC | TF_WRITE_BEHIND);

CloseHandle(hFile);

}

int TCPclient::GetSize(std::string filename)

{ </

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值