Entwickler-Ecke

Internet / Netzwerk - serversocket1.socket.RemoteAddress


waldmeister - Sa 16.11.02 20:14
Titel: serversocket1.socket.RemoteAddress
ich hab da ein Problem!!

Wenn ich in das OnClientConnect-Ereignis meins ServerSockets folgendes reinschreibe:


Quelltext
1:
2:
3:
4:
5:
var
test: string;
begin
test:= serversocket1.socket.RemoteAddress;
end;


Und dann ein Client zum Server connected, dann bekomm ich einen EListError List out of bounds (1), oder so.

Woran liegt das??
ich brauche das ganze um in meinem Chatprogramm anzuzeigen welche Ips connected sind.

Wäre gut wenn mir da jemand helfen könnte!


DeCodeGuru - Sa 16.11.02 22:12

probiers mal damit:


Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var
  test: string;
begin
  test := serversocket1.Socket.Connections[0].RemoteAddress;
end;


Als Index kannste auch die ActiveConnections -1 eintragen. Kann aber nit genau sagen, obs funtzt.


waldmeister - So 17.11.02 00:08

Es kommt immer noch der Fehler EListError List index out of bounds (1)!

mein Quelltext sieht jetzt so aus:




Quelltext
1:
2:
3:
4:
5:
6:
procedure Tfrmserver.ServerClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
user:=server.Socket.ActiveConnections;
redtuser.lines.add(server.Socket.Connections[user-1].RemoteAddress);
end;


user ist ne globale integer variable und server ist mein serversocket und redtuser ist ein richedit in dem die ips der clients gespeichert werden sollen.[/code]


DeCodeGuru - So 17.11.02 09:55

Hi,

ich habe das eben mal ausprobiert und folgender Code funtzt bei mir:


Quelltext
1:
2:
3:
4:
5:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Label1.Caption := Socket.RemoteAddress;
end;


waldmeister - So 17.11.02 10:19

hab das grad ma mit dem Label ausprobiert und es geht immer noch nicht!!

Ich kann die IP und den Namen auch anders übertragen aber so wäre halt viel einfacher als wenn ich dann en sendtext machen müsste und dann immer abfragen ob da ip: xxx.xxx.xxx.xxx steht!!


DeCodeGuru - So 17.11.02 11:56

es funtzt immer noch nicht? :?
Bei mir schon. Dann muss irgendwo anders ein Fehler sein. Ich such auch nochmal.