Array
(
)

Problemas com Socket e Delphi7

Tunneler
   - 30 mar 2006

Olá pessoal, sou novo aqui no fórum!
Gostaria que vocês me ajudassem com uma dúvida! Fiz um simples servidor com o ServerCLient da aba Internet, então abri o programa TELNET, ativei o servidor, e mandei o programa telnet conectar... o telnet exibiu a mensagem Conectando... e ficou só naquilo!!!
Eu gostaria de saber qual o problema com o servidor, e pq esta dando esse erro... aqui vai o código:

#Código

unit Unit1; 

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls;

type
TForm1 = class(TForm)
Server: TServerSocket;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
procedure Button2Click(Sender: TObject);
procedure ServerClientRead(Sender: TObject; Socket: TCustomWinsocket);
procedure ServerClientConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinsocket);
var
s1: string;
begin
s1 := Socket.ReceiveText;
Memo1.Lines.Add(s1);
end;

procedure TForm1.ServerClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(´Cliente se Conectou´);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Server.Active:= True;
Server.Open;
Memo1.Lines.Add(´Aberto para Conexoes...´);

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Server.Active:= False;
end;

end.


Espero que me ajudem, agradeço desde já! Obrigado.


Thomaz_prg
   - 30 mar 2006

como você definiu o endereço IP para conectar (address) no ServerSOcket e no telnet, e verifique a porta que você usou.


Tunneler
   - 30 mar 2006

Como assim defini o endereço... tipow no serversocket eu nao define endereço de ip nenhum apenas a porta 4445, agora no telnet eu usei o seguinte comando: Open 127.0.0.1 4445


Tunneler
   - 30 mar 2006

Cara, eu por curiosidade resolvi mexer nos Events do ServerSocket, ai eu mudei algumas coisas lá e funcionou O.O!!
Porém eu nao sabia que tinha que mexer nos events, por exemplo, caso o client se conect chamar o accept... entendemmm =]
Eu gostaria duma explicação a respeito desses events !!


Ipc$
   - 30 mar 2006

No ServerSocket, o evento onClientConnect diz apenas que o Client conseguiu a conexão com o Server, mas até aí ela ainda não foi aceita.
É no evento onAccept que o Server efetiva a conexão podendo ou não aceitá-la nesse evento.