有关服务器的问题,请大家帮我看看问题出在那里,急急急!!!!

sexfreebird 2002-05-08 01:46:50
我想从客户端发送一个结构体过来,就是无法实现
我用的是设一个CAsyncSocket类的变量:m_sConnectSocket,
然后利用m_sConnectSocket.send函数发送数据,但是他的参数好像只能是CString类型
我想发送一个结构类型的,怎么办?用什么函数?
...全文
38 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DavidWang_2008 2002-05-08
  • 打赏
  • 举报
回复
struct strmessage
{
CString cc ;
}message;

char * lpbuf;
iLen=sizeof(message);
lpbuf=(LPSTR)message.cc.getbuffer(0);
iSent=m_sConnectSocket.Send(lpbuf,iLen);

sexfreebird 2002-05-08
  • 打赏
  • 举报
回复
我的程序大概是这个样子:

struct strmessage
{
CString ;
}message;
char * lpbuf;
iLen=sizeof(message);
lpbuf=&message;
iSent=m_sConnectSocket.Send(lpbuf,iLen);

但是编译时说:error C2440: '=' : cannot convert from 'struct CWodeserverDlg::strmessage *' to 'char *'
我曾经试过用一个strmessage * plbuf,编译可以通过,但是在俩台机器之间这样传递message的地址有用吗?它能把整个message结构体都传过去吗?
punks 2002-05-08
  • 打赏
  • 举报
回复
定义一个char指针,取你结构体的size给char分配空间,发送的时候并把结构体地址给char指针,发送BUFF指向那个char就可以了。
wumugulu 2002-05-08
  • 打赏
  • 举报
回复
转换一下就ok了:


send((char *)&结构变量名,......);

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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