Форум: "Сети";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизКак узнать активен ли TServerSocket. Найти похожие ветки
← →
=alexlp= (2004-12-10 23:02) [0]Подскажите пожалуйста можно ли узнать активен ли TServerSocket, зная ip-адрес и порт. Т.е проверить по этому ip, существует ли на нём TServerSocket.
← →
Digitman © (2004-12-11 09:30) [1]
> =alexlp=
попытаться подключиться с нему, например, с пом. TClientSocket
если попытка завершилась успехом, то TServerSocket активен, в противном случае - нет.
← →
=alexlp= (2004-12-11 22:43) [2]Подскажите как реализовать.
uses
Winsock, addips;
function HostToIP(Name: string): string;
var
WSAData: TWSAData;
hostEnt: PHostEnt;
addr: PChar;
begin
Result:="";
WSAStartup($0101,WSAData);
try
hostEnt:=gethostbyname(PChar(Name));
if Assigned(hostEnt) then
if Assigned(hostEnt^.h_addr_list) then
begin
addr:=hostEnt^.h_addr_list^;
if Assigned(addr) then
Result:=Format("%d.%d.%d.%d",[byte(addr[0]),byte(addr[1]),byte(addr[2]),byte(addr[3])]);
end;
finally
WSACleanup
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
m: TServerList;
i,j: integer;
begin
m := TServerList.Create("", "", SV_TYPE_ALL);
for i := 0 to m.Count - 1 do
with List[i] do begin
Form1.ListBox2.Items.Add(HostToIp(svr_Name));
end;
это получение IP, а как зная эти IP и порт, по ним проверить существует ли на этом IP TserverSocket.
← →
TButton © (2004-12-12 03:55) [3]а что мешает присвоить результат выполнения функции HostToIP
свойству Host компонента TClienSocket
потом вызвать метод Open Того же компонента
в обработчике onConnect
написать ShowMessage("I"ve connected!.. somewhere...")
в обработчике onError
написать ShowMessage("Can"t connect");
ну или что-нибудь на твой вкус.
З.Ы.
в onError еще следовало бы проверять тип ошибки, чтоб удостовериться, что это именно ошибка коннекта.
← →
=alexlp= (2004-12-12 12:07) [4]спасибо
работает.
← →
=alexlp= (2004-12-12 12:09) [5]спасибо
работает.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.044 c