Einzelnen Beitrag anzeigen

tavoc

Registriert seit: 4. Dez 2004
Ort: Brandenburg
19 Beiträge
 
#1

Frage zu SocketServer und senden an einen Client

  Alt 17. Okt 2005, 19:07
Hallo,

ich sitze nun schon längere Zeit ein einem grundlegenden Problem, ich schaffe es nicht das mein Server einem Client Daten sendet.

Ich möchte mit dem Programm erreichen das es sich "zwischen" 2 rechner schaltet, also z.b. Client und IRC Server, damit kann man z.b. die Portsperre an einigen Orten umgehen.
Dazu connecte ich mit meinem Programm zu dem IrcServer und zu einem Irc Client (Trillian etc.), das Problem liegt darin das mein Programm Trillian nicht mitteilt was es vom IrcServer erhält.


Der Fehler liegt irgendwo bei serversocket.Socket.Connections[0].SendText(empfangen), aber ich weiß nicht wie ich es sonst machen kann.


Delphi-Quellcode:
function TMainForm.connect():boolean;
begin
  ServerSocket.Port:=1024;
  ServerSocket.Open;
  if ClientSocket.Active then ClientSocket.Close;
  ClientSocket.host :='irc.spotchat.org';
  ClientSocket.Port :=6667;
  ClientSocket.Open;

end;

procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
  connect;
end;

procedure TMainForm.ClientSocketRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var empfangen: string;
begin
  empfangen := Socket.ReceiveText;
  memo1.Lines.Add(empfangen);


  if serversocket.Socket.Connected then serversocket.Socket.Connections[0].SendText(empfangen);

end;

procedure TMainForm.ToolButton2Click(Sender: TObject);
begin
  ClientSocket.Close;
  ServerSocket.Close;
end;

procedure TMainForm.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var empfangen: string;
begin
  empfangen := Socket.ReceiveText;
  memo1.Lines.Add(empfangen);
  clientsocket.Socket.SendText(empfangen);
end;

procedure TMainForm.ServerSocketClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Memo1.Lines.Add('OnAccept');
  Memo1.Lines.Add(Socket.RemoteAddress +'remoteadress');
  Memo1.Lines.Add(IntToStr(Socket.RemotePort)+'remoteport');
  Memo1.Lines.Add(Socket.LocalAddress+'localadress');
  Memo1.Lines.Add(IntToStr(Socket.LocalPort)+'localport');
end;

Ich danke schonmal im Vorraus für Eure Hilfe.
  Mit Zitat antworten Zitat