如何用TServerSocket和TClientSocket传送一个结构体变量?

icrcapple 2005-05-16 11:22:17
小弟是初学者,只会用这两个控件传送Text
但是我定义了一个结构:
struct brush
{
int width;
int x;
int y;
AnsiString name;
}
要从客户端1将这样结构的一个变量发送往服务器,应该怎么办?
...全文
177 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjyzp 2005-05-20
  • 打赏
  • 举报
回复
我也在做类似的东西,交流交流!
pp616 2005-05-18
  • 打赏
  • 举报
回复

long+buf[]
先写个长度。然后后面跟字符串缓冲区。这样比较省。定义char[xxx]比较死板。
FengSC 2005-05-18
  • 打赏
  • 举报
回复
建议这样定义
struct brush
{
int width;
int x;
int y;
//AnsiString name;
char name[MAXNAMESIZE];
}
因为AnsiString是一个类,她除了有你想要的字符串数据还有很多方法程序。
happyct 2005-05-16
  • 打赏
  • 举报
回复
ReceiveBuf(bTest,sizeof(bTest));
happyct 2005-05-16
  • 打赏
  • 举报
回复
struct brush
{
int width;
int x;
int y;
char name[50];
}


brush *bTest = new bursh();
...//赋值

SendBuf(bTest,sizeof(bTest));

接收
brush *bTest = new brush();
ReceiveBuf(*bTest,sizeof(bTest));
NetSpider9804040 2005-05-16
  • 打赏
  • 举报
回复
你把这个结构体当做一个字串来处理,然后在接收端在将其分解出来不就行了吗?
constantine 2005-05-16
  • 打赏
  • 举报
回复
在网络上最好不要用ansistring(指结构体,其他情况好像没有问题),
具体什么引起的不是很清楚,我想是AnsiString这个类型比较特别造成的
你用sizeof(AnsiString)看到是4
而实际上呢,不一定吧
你用happyct的方法吧,我也是用数组,大小可以肯定的知道
icrcapple 2005-05-16
  • 打赏
  • 举报
回复
好像接收不到,不知道怎么搞的,
int类型的变量可以接收,但是ansistring类型的变量是空,请教!
icrcapple 2005-05-16
  • 打赏
  • 举报
回复
happyct(绿叶对大树的情怀www.happy-city.com) 谢谢你!
NetSpider9804040(网络蛛蛛) 也谢谢你,用字符串我考虑过,不好,每个变量的长度不一样,你怎么分解?请教

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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