先贴出部分关于结构体发送接收的代码
//保存鼠标信息的结构体(客户端、接收端都一样)
typedef struct tagpoint
{
LONG x;//鼠标的x坐标
LONG y;//鼠标的y坐标
string info;//标识鼠标进行点击、键盘按键操作的字符串信息
};
//定义了一个全局变量
tagpoint *savepoint=new savepoint();
客户端:
//客户端发送函数
bool Client::sendpos()
{
send(sclient, (char*)savepoint, sizeof(tagpoint), 0);
return true;
}
//这里结构体指针savepoint已经在钩子的回调函数中定义
服务器端
//服务器端接受函数
void Server::recpos()
{
recv(sClient, (char*)savepoint, sizeof(tagpoint), 0);
cout <<savepoint->x<<" "<<savepoint->y<<" "<< savepoint->info << endl;
//cout是为了查看savepoint接受后哪出现了问题
}
问题:
每次客户端的传送的鼠标信息结构体,在接收端收不到savepoint->info的信息,甚至会出现乱码
而且每次输出应该是客户端发出一个x,y坐标和info信息,接收端照实接收
但是接受端会受到四个LONG型,没有info信息,如同下图
后续不知道怎么改这一段代码,可以让标识info可以正常传输并输出
昨天也写过这个代码,没有保存下来,但是可以完整传输,今天又写了一遍,出现了这种问题,查了很多文章,也没有找到解决办法
这两天需要完成学校的项目,也非常急迫的,调试了一下午还没有弄出来,实在没有头绪了