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');