Delphi UDPSocket 发送Record 记录类型

type
  TStructData = record
    Wlan_MAC : array [1..14] of Char; //14码长度的String字符串
    sqlData : array [1..8096] of Char; //.DB数据库文件
    SqlData_Len : Integer; //数据库文件的实际长度

  end;

//以上为记录类型包含的字段信息

MemStream := TMemoryStream.Create;
      MemStream.LoadFromFile(ExtractFilePath(Application.ExeName)+'ipc.DB');
      MemStream.Position := 0;
      iSize := MemStream.Size;   //将文件转换为内存流


      //sStr := StreamToString(MemStream);
      //value := Xor2(sStr);
      //MemStream.Write(value[1], 1);
      //MemStream.Position := 0;


StrCopy(@(sData.Wlan_MAC),PAnsiChar('123456789123')));
MemStream.Read(sData.sqlData,MemStream.Size);
sData.SqlData_Len := iSize;   //将数据存取记录类型中


FSockAddrIn.SIn_Addr.S_addr   :=   inet_addr(pchar(FMMain.edtHost.text));   //目的IP地址
          len := sendto(s,sData,SizeOf(sData),0,FSockAddrIn,sizeof(FSockAddrIn));  //SendTo发送
          if (WSAGetLastError()   <>   WSAEWOULDBLOCK)   and   (WSAGetLastError()   <>   0)   then
            showmessage(inttostr(WSAGetLastError()));
          if len   =   SOCKET_ERROR   then
            showmessage('send   fail');
          if len   <>   SizeOf(sData)   then
            showmessage('Not   Send   all');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值