怎么用SOCKET传送一个自定义类型的数据

jjweb 2003-01-15 11:33:50
例如:
type
srecord=record
SS_Handle: integer;
request_str: string;
end;
怎么把一个Srecord类型的变量用SOCKET传送?
...全文
132 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueTrees 2003-01-18
  • 打赏
  • 举报
回复
注意:传送String类型或者在结构中包含string的都要注意。同样的适用于传送对象,一般好像还没有人直接传送对象吧!嗬嗬

string类型的必须转移到一个明确长度的Pchar当中,并且不要在结构中包含,要在结构中包含的,必须在结构中使用静态数组
stanely 2003-01-18
  • 打赏
  • 举报
回复
任何数据包括自定义数据都是放在一段内存区域内的,
所以理论上socket.send(buf,len);可以发送一切数据.

但是似乎超过8k就不行了.
jackie168 2003-01-18
  • 打赏
  • 举报
回复
up
Tspeng 2003-01-18
  • 打赏
  • 举报
回复
将request_str定义为
request_str:array[0..dataLen-1]of char
ss_Handle可通过自定义协议来实现。
huang_gong 2003-01-16
  • 打赏
  • 举报
回复
不过,用string类型送好吗?我一般都改成 char;数组
CoolDesigner 2003-01-16
  • 打赏
  • 举报
回复
上面写错了,应该是Socket.SendBuffer(srecord,sizeof(srecord))
CoolDesigner 2003-01-16
  • 打赏
  • 举报
回复
Socket.WriteBuffer(srecord,sizeof(srecord))
CoolDesigner 2003-01-16
  • 打赏
  • 举报
回复
Socket.ReadBuffer(srecord,sizeof(srecord))

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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