社区
网络编程
帖子详情
即能传文件,又能传消息怎样考虑接收端,看我的代码,我的是这样处理的,但是有问题
MFCClass
2004-05-08 02:10:25
same
...全文
78
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’字符,然后处理 问题是文件不正常,文件格式修改了,有问题
channel rabbitmq 配置_Springboot2.2.6构建RabbitMQ
消息
接收端
本文介绍如何使用RabbitMQ构建
消息
发布端,重点讲解
消息
接收端
的构建。包括项目pom
文件
、
代码
结构,如yml配置、各包功能等。还说明了关键点,如spring-boot-starter-amqp版本区别、@EnableRabbit等标注使用,以及
消息
处理
成功和失败的API调用等。
rabbitmq 连接池_Springboot2.2.6构建RabbitMQ
消息
接收端
本文详细介绍了如何使用SpringBoot2.2.6构建RabbitMQ
消息
接收端
,包括pom
文件
配置、
代码
结构解析、关键点说明。强调了@RabbitListener和@RabbitHandler的使用,手动
消息
确认机制以及幂等性
处理
的重要性,同时提醒了需要注意的潜在
问题
。
C++远程监控系统
接收端
- ConnectDlg.cpp
此博客展示了C++远程监控系统
接收端
ConnectDlg.cpp的
代码
,包含头
文件
引用、类定义、数据交换函数、
消息
映射以及
消息
处理
函数等内容,体现了C++在远程监控系统
接收端
开发中的应用。
VB 局域网
传
输工具(
接收端
)
本文展示了VB局域网
传
输工具
接收端
的
代码
。包含窗体设计,如设置端口、目录等控件;自定义结构标识WINSCOK控件状态;实现了接收
文件
的功能,包括侦听端口、
处理
连接、接收
文件
等操作,还涉及
消息
对话框、列表框
处理
等相关函数。
Mq 发送
消息
,接受
消息
本文深入解析ActiveMQ
消息
队列的点对点与订阅模式,演示Java实现
代码
,探讨不同
消息
类型
处理
,包括字符串、JavaBean对象和
文件
。同时,讲解ActiveMQ在保证
消息
处理
、避免并发、
消息
有效期管理及安全配置方面的应用。
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章