社区
网络编程
帖子详情
即能传文件,又能传消息怎样考虑接收端,看我的代码,我的是这样处理的,但是有问题
MFCClass
2004-05-08 02:10:25
same
...全文
50
11
打赏
收藏
即能传文件,又能传消息怎样考虑接收端,看我的代码,我的是这样处理的,但是有问题
same
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
luxingjyp
2004-05-14
打赏
举报
回复
你为什么要这样呢,其实可以在传送文件前,
1.通知对方有文件到,同时把本机的IP和用来发送文件的新端口传过去,并用阻塞模式启动文件的发送线程.
2.当对方收到消息后,用收到的文件发送方的信息启动一个阻塞模式模式的接收线程
这样的话,就可以在发送和接收文件时同样也可以通信息了,我的程序中就是这样的,工作的很好.
zhufeng98
2004-05-08
打赏
举报
回复
string.Delete(0,1);
strcpy(buf,string);
file.Write(buf,n);
1.你收到了n个字节数据,你自己去掉了前面的'F',居然还往文件里写n个字节,不是每条都增加了一个字节?
2.字符串的存放,最后会以'\0'结尾,是否把'\0'也写进文件去了,这样每条又增加一个字节.
因此,如果你个二进制文件传输过来,被你插入了无数字节,文件格式还对才怪!
你检查一下,传输过来的数据组成的文件是否比原来文件大了很多?
如果是大了,就是以上原因
MFCClass
2004-05-08
打赏
举报
回复
bufx[1024]={0};
自由的风
2004-05-08
打赏
举报
回复
bufx
这个接收数组,在recv前,先用ZeroMemory()清空
MFCClass
2004-05-08
打赏
举报
回复
我自己孤单的up一下
MFCClass
2004-05-08
打赏
举报
回复
数据和文件的接收,都是FD_READ消息触发后循环的触发(因为发送是循环的发送).调用上面的函数
MFCClass
2004-05-08
打赏
举报
回复
bool CSocket_sdk_sDlg::RevData()
{
char bufx[1024]={0};
char buf[1024]={0};
CString string;
int n=0;
int ret=0;
CString szTextNow;
n=recv(sclientRev,bufx,1024,0); //接受
if(n==SOCKET_ERROR)
{
AfxMessageBox("error");
return false;
}
string.Format("%s",bufx);
if (string.Mid(0,1)=="M")
{
string.Delete(0,1);
GetDlgItem(IDC_EDIT2)->GetWindowText(szTextNow);
szTextNow+=string;
GetDlgItem(IDC_EDIT2)->SetWindowText(szTextNow);
}
else if (string.Mid(0,1)=="F")
{
if (nRecIndex==0)
{
GetDlgItem(IDC_BUTTON3)->EnableWindow(false);
string.Delete(0,1);
m_szFilename=string;
}
else if (nRecIndex==1)
{
string.Delete(0,1);
m_szFileSize=string;
m_proess.SetRange32(0,atol(m_szFileSize));
}
else
{
string.Delete(0,1);
strcpy(buf,string);
file.Write(buf,n);
}
nNum+=n;
m_proess.SetPos(nNum);
nRecIndex++;
if (m_proess.GetPos()==atol(m_szFileSize))
{
GetDlgItem(IDC_BUTTON3)->EnableWindow(true);
GetDlgItem(IDC_revflag)->SetWindowText("文件传输成功!");
}
}
return true;
}
自由的风
2004-05-08
打赏
举报
回复
最好把文件分割和组合的核心部分的代码贴一下
MFCClass
2004-05-08
打赏
举报
回复
我说的消息是相对于文件说的,就是简单的字符串
自由的风
2004-05-08
打赏
举报
回复
首先不明白为什么要发消息,消息不是FD_XXX吗?
文件问题,我估计是文件分割时的问题
MFCClass
2004-05-08
打赏
举报
回复
补充一下,我的意思是在传文件的同时,也能传消息
tcp 方式,WSAansyselect i/o 模型,C/S都是这样
M-我将循环发送消息的数据前加上了‘M’每条都加
F-我将循环发送文件前加上了‘F’每条都加
接受时我判断数据是否有‘M’和‘F’,做响应的判断,然后处理
但是,发文件时有问题,
先删除数据前的‘F’字符,然后处理 问题是文件不正常,文件格式修改了,有问题
STM32NRF24L01模块的发送端
代码
和
接收端
代码
这里我是用了两块板子来做通信实验,这里我就直接贴发送端和
接收端
的.c.h
文件
,一个是用标准库写的一个是hal库写的,只是两块板子引脚不同
代码
大差不差;文章可以看我主页搜索;
前端如何将图片
传
到后端原生js(nodejs后端保存
代码
请看我另一篇文章)
最近需求,需要上
传
用户头像,研究了两天,后端接口怎么写参考我另一篇文章。现在后端接口写好了,需要前端来写
传
递图片我直接用的原生js,没有用组件,我先讲一下原理,前端并不是直接
传
递
文件
流给后端的,而是我们...
Asp.Net Core
传
文件
到Vue前端,
传
递application/octet-stream类型
文件
流到前端
题外话:当
传
递
文件
流时要确定
文件
流的类型,但也有例外就是application/octet-stream类型,主要是只用来下载的类型,这个类型简单理解意思就是通用类型类似 var 、object、array 这样什么都可以存的类型,我当前是...
微信小程序向java后端
传
递数据,后端能接收到但是前端报404
今天在测试微信小程序和springboot交互的时候出现了一个小
问题
,话不多说先来看
问题
: 从报错信息可以看出前端向后端
传
递数据,后端接收到了,但是前端却报了404的错误,这是为什么呢? 于是我百度了一下,发现我...
看我说PHP之
文件
上
传
一、概念从一台电脑上,将
文件
传
输到另外一台电脑上。web:从客户端机器(用户...二、
文件
上
传
的前提
文件
上
传
必须要在服务器端先开启
文件
上
传
的功能。三、
文件
上
传
的步骤1、客户端用户上
传
a)增加
文件
上
传
的表单域 ...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章