TServerSoket接收包的问题
遇到一个很奇怪的问题,现在客户端是多台指纹机,每一次验征指纹的信息,Server1ClientRead事件
并没有触发,发而指纹机的心跳包信息却收到了(乱码信息),请问怎么解决这个问题?非常急啊!
如果哪位有多线程的实例的话,也可以指点一下!
procedure TForm1.Server1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
re: pchar;
sbuf: string;
relong: integer;
begin
re := nil;
while socket.ReceiveLength > 0 do
begin
re := AllocMem(socket.receivelength); //申请内存
try
relong := socket.ReceiveLength;
Socket.ReceiveBuf(re^, Socket.receivelength);
sBuf := strpas(re);
Setlength(sbuf, relong);
finally
freemem(re);
end;
Memo1.Lines.Add('来自于客户端【' + Socket.RemoteAddress + '】的信息为【' + sbuf + '】');
end;
end;