Checando Se O Servidor Está Online E Seu Ping!

dark rogue
em Pascal (Delphi)

dark rogue

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/01/06Posts: 56

Você vai precisar de:

2 Labels(Aba Standard)

2 Edits(Aba Standard)

1 Button(Aba Standard)

1 IcmpClient(Aba Indy Clients)

1 Client Socket(Aba Internet)

 

Crie uma nova aplicação e adicione todos os items listados acima.

Troque a capiton de um label para IP do servidor e a do otro label para Porta, logo em seguida troque a capiton do button para Checar!, organize-os desse modo:

 

checarip.png

 

No evento OnClick do Button1, coloque o seguinte código:

if edit1.Text > '' then
IdIcmpClient1.Host:= edit1.Text;
IdIcmpClient1.Port:= StrToInt(Edit2.Text);
IdIcmpClient1.Ping('AnalisePing');
ClientSocket1.Host := edit1.Text;
ClientSocket1.Port := StrToInt(edit2.Text);
ClientSocket1.Active := True;

Manter cada linha dentro de seus respectivos "pais" não é necessário, mas ajuda a manter a ordem e a legibilidade do código.

 

Agora, no evento OnConnect do ClientSocket1, coloque esse codigo:

MessageBox(form1.Handle, 'Online! :)', 'Status do server:', mb_OK + mb_IconInformation);
ClientSocket1.Active := False;
Socket.Disconnect(StrToInt(Edit1.Text));

 

No evento OnError do ClientSocket1, adicione isso:

  MessageBox(form1.Handle, 'Offline!;(', 'Status do server:', mb_OK + mb_IconInformation);
 ClientSocket1.Active := False;
 abort;
 errorcode :=0;

 

Eba, estamos quase lá, só falta configurar o IcmpClient, então vamos lá!

No evento OnReply do seu client Adicione isso:

  ShowMessage('IP: '+IdIcmpClient1.Host+#13+
 'Port: '+IntToStr(IdIcmpClient1.Port)+#13+
 'Ping: '+IntToStr(AReplyStatus.MsRoundTripTime)+' milisegundos');

 

Agora é só compilar e ser feliz \õ/

 

Duvidas sobre esse tutorial? poste aqui!

 

see ya!

tibiaa4e

Ex amante de Tibia
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 18/12/05Posts: 912Gênero: MasculinoChar no Tibia: Kohzete

Muito bom

 

Ressuscitando a area de Delphi

 

Ahuahuahua

 

Meu conhecimento de Delphi em relação a conexão, sockets eh 0 :/

Aposentado de OTserver e Tibia

Meus melhores tutoriais
Enciclopédia Pasta Data
Tutorial de quest

dark rogue

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/01/06Posts: 56

Desisti dessa seção e provavelmente desse fórum... tem muito fórum por ae dando muito valor pra programadores em delphi, perder tempo pra nem ao menos ver um obrigado é F*da >.<'

lolzot

ADM LOLZ OU DANIEL CHIA
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/09Posts: 42Char no Tibia: casco chia

Muito Bom, só não dou +rep por que to no limite de hj ;'(

30lgvmh.gif

wck1u0.gif

328732

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/11/10Posts: 4

REP+ Me Ajudo Mesmo ;)

Msn Guitimao123@hotmail.com

Skype GuuixXx

 

Gostou dos meus Topicos ? REP+

Antharaz

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 05/01/08Posts: 153Char no Tibia: nenhum

Lembrando que se o firewall estiver habilitado para não responder requests icmp não irá funcionar...

 

Alguns vem com essa opção habilitada por causa de ataques DDOS :x

Atenciosamente,

Antharaz

HwmBLEb.jpg