我想编一个函数,知道IP,和欲发送的信息,发送成功返回1,发送失败返回0。
不在ClientSocket的OnConnect和OnError事件中来判别与目标主机建立连接是否成功。在函数、过程中怎么样判别
Function SendMessage(var IP:string;News:string):integer;
begin
Form1.ClientSocket1.Close;
Form1.ClientSocket1.Address:=IP;
Form1.ClientSocket1.Open;
****************************//判断条件,如何判断??????
begin
Form1.ClientSocket1.Socket.SendText(News);
SendMessage:=1;
end
else
SendMessage:=0;
****************************//问题所在
Form1.ClientSocket1.Close;
end;
Function SendMessage(var IP:string;News:string):integer;
var
n:Integer;
begin
with Form1.ClientSocket1 do
begin
Close;
Address:=IP;
Open;
while not ClientSocket1.Active do
begin
Application.ProcessMessages;
end//这个循环条件里面没有加上超时,需要的话你自己加。
n:=Socket.SendText(News);
if n=length(News) then
Result:=1
else
Result:=0;
Close;
end;
end;