VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 998|回复: 6

socket如何发送结构体数据:::

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-18 21:20:01 | 显示全部楼层 |阅读模式
socket如何发送结构体数据:::

如我定义了一个结构体,怎么通过socket发送了????

  TChargeSet = record
    Name : string;            { 收费方式      }
    FreeTime :Integer;        { 免费时间,分钟 }
    SetTime :Integer;         { 时间单位,分钟 }
    SetCost :Single;          { 收费金额,元   }
    HintStr :string;          { 收费提示      }
  end;

  TChargeMsg = record
    IpAddress :string;
    CardNo :string;
    Flag :Integer;                 {状态字}
    OpenTime :TDatetime;
    ChargeTime :TDatetime;         {下一次收费时间}
    UseTime :Integer;
    ChargeSet :TChargeSet;         {收费规则}
    Cost :Single;                  {总收费}
    Blance :Single;                {余额}
    NewOpen :Integer;
    Memos :string;
  end;

var
  TChargeMsg :TChargeMsg;

回复

使用道具 举报

0

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-31 17:27:02 | 显示全部楼层
SOCKET发送的是一块内存中的数据.至于这数据是什么你自己确定了.
对于结构体中的对象,因为仅是保存了一个指针,所以要将它持久化后才可以发送.

STRING 在DELPHI中也是一个对象.所以你不能直接使用,要定义成字符数组的格式.
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-2-1 03:36:01 | 显示全部楼层

感谢  悲歌人生

能不能给些代码,实例!
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-14 01:15:01 | 显示全部楼层
tool = packed record
        mindex  : array [0..3]  of char;   //Ë÷Òý±àºÅ
        mcname  : array [0..6]  of char;   //Ãû³Æ
        mcpic   : array [0..50] of char;   //ĬÈÏͼƬµØÖ·
        cx      : array [0..3]  of char;   //¼Ç¼ĬÈÏ¿í¶È
        cy      : array [0..3]  of char;   //¼Ç¼ĬÈϸ߶È
        cmemo   : array [0..3]  of char;   //¼Ç¼±¸×¢
    end;

定义成这样
在sengbuf 就可以
回复

使用道具 举报

0

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-4-12 10:00:01 | 显示全部楼层
tool = packed record
        mindex  : array [0..3]  of char;  
        mcname  : array [0..6]  of char;   
end;

楼上这样定义就可以.
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-17 12:15:01 | 显示全部楼层
buf <-structobj
size->sizeof(struct)
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-17 15:45:01 | 显示全部楼层
sdk:
send or sendto
buf填结构体指针,len结构体大小。

TCustomWinSocket::SendBuf
buf填结构体指针 Count填结构体大小
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表