可以这样传数据吗? to iamkylix:我是想在前一部分放协议的命令代码,后一部分放数据,但数据的长度,类型不一致. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先接收STRING字段长度的内容,一般是固定长的,如不是固定长的,要有长度的定义,再接收后面的,如SendStr:String[10];TMyData=Record ABC:Integer; FGH:String[10];end;发送:Var MyData:TMyData;Begin SendStr :='1wwwda'; MyData.ABC :=10; MyData.FGH :='dsad';Socket.SendText(SendStr);Socekt.SendBuffer(MyData,SizeOf(TMyData));End;接收:Var RevLen:Integer; Buffer:Array[0..10] of Char; MyData:TMyData;Begin Socket.RecvBuf(Buff,10); //只接收前面的内容 Socket.RecvBuf(MyData,SizeOf(TMyData)); //后续的内容end; to alin:可以这样吗,我一直觉得不能这么做,发送时用了两次send接收时能在一次onreceive中全部接收到吗? to alin:可以直接receive一个record吗Socket.RecvBuf(MyData,SizeOf(TMyData)); 求助 如何将字符串CBR_115200转换成相应的cardinal值,正确的赋给DCB中的baudrate参数? delphi编写oracle导入、导出dmp文件,来着有分 有检测目录中文件增加的控件吗? ADOQuery表将一列中的所有数据一行行的输出 adotable可以用事务控制吗 怎么在一个文本里记录多条信息 本人在深圳工作﹐尋delphi開發的高手交流 大家看看我这条SQL语句有什么问题? delphi7 如何播放 gif图 急 在线等待 马上给分 怪,怪,怪:我的DELPHI5的主菜单不见了! StringList中存储类似二维数组的方法?
SendStr:String[10];
TMyData=Record
ABC:Integer;
FGH:String[10];
end;发送:
Var
MyData:TMyData;
Begin
SendStr :='1wwwda';
MyData.ABC :=10;
MyData.FGH :='dsad';Socket.SendText(SendStr);
Socekt.SendBuffer(MyData,SizeOf(TMyData));
End;接收:
Var
RevLen:Integer;
Buffer:Array[0..10] of Char;
MyData:TMyData;
Begin
Socket.RecvBuf(Buff,10); //只接收前面的内容
Socket.RecvBuf(MyData,SizeOf(TMyData)); //后续的内容
end;
可以这样吗,我一直觉得不能这么做,
发送时用了两次send
接收时能在一次onreceive中全部接收到吗?
可以直接receive一个record吗
Socket.RecvBuf(MyData,SizeOf(TMyData));