以下函数可以正常运行,但取消掉inttostr(s)客户端就无法收到消息,请问这是为什么?
使用的是tserversocket组件 s为Socket.SocketHandle
function TfrmServerMain.CloseClient(s: tsocket) : boolean;
var
buf:array of byte;
Len,i:integer;
begin
result := false;
setlength(buf, contrallen + 1);
for i:=0 to contrallen-1 do
if ((i mod 2)=0 ) then buf[i]:=$C
else buf[i]:=$A;
buf[length(buf)-1] := 0;
inttostr(s);
if send(s, buf[0], len, 0) <>SOCKET_ERROR then
result := true;
end;
使用的是tserversocket组件 s为Socket.SocketHandle
function TfrmServerMain.CloseClient(s: tsocket) : boolean;
var
buf:array of byte;
Len,i:integer;
begin
result := false;
setlength(buf, contrallen + 1);
for i:=0 to contrallen-1 do
if ((i mod 2)=0 ) then buf[i]:=$C
else buf[i]:=$A;
buf[length(buf)-1] := 0;
inttostr(s);
if send(s, buf[0], len, 0) <>SOCKET_ERROR then
result := true;
end;
这里的S要求的是字符串