Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Frage zu SocketServer und senden an einen Client (https://www.delphipraxis.net/55175-frage-zu-socketserver-und-senden-einen-client.html)

Net7 19. Okt 2005 22:47

Re: Frage zu SocketServer und senden an einen Client
 
Zitat:

Zitat von tavoc
Aber der IRC Server sendet doch auch nur text, ich habe mal nen eigenen client geschrieben und der hat auch alles mit text gemacht, wenn also trillian was anderes erwarten würde müssten ja alle ircserver das auch so senden.

Aber in der rfc steht doch das es text ist.


Hmmm, also ich hab bissel rumexperimentiert.

So einfach sendtext('blabla') ist schon mal nicht.

Wenn schon sendtext, dann muss es doch zumindest Schritte geben die erst gegangen werden mussen.

Auhtentifizierung, Anmeldung, in einen Channel gehen, Userliste abfragen usw.

Ich schätze das diese Trillian vorraussetzt.

Probiere doch das alles einfach mal mit einen Mirc Clienten. Könnte doch sein das dieser sich anders verhält.

ripper8472 19. Okt 2005 23:07

Re: Frage zu SocketServer und senden an einen Client
 
aehm, trillian ist der client. der sendet anmeldung und joins.

dein programm hat ganz einfach nur die daten durchzureichen.

ich seh das problem nicht. ihr vielleicht?

Net7 20. Okt 2005 00:09

Re: Frage zu SocketServer und senden an einen Client
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von ripper8472
aehm, trillian ist der client. der sendet anmeldung und joins.

dein programm hat ganz einfach nur die daten durchzureichen.

ich seh das problem nicht. ihr vielleicht?

Danke ripper8472 du hast mir einen netten Denkanstoss gegeben.

Na wenns weiter nichts ist.

Beispiel liegt bei.

Zuerst zum gewünschten IRC Server connecten, dann mit Trillian an Tool connecten.

tavoc 20. Okt 2005 08:08

Re: Frage zu SocketServer und senden an einen Client
 
Das problem ist das mein Programm nix an Trillian weiterreicht.

Ich kann also joinen usw., sehe was passiert aber nur in meinem Programm und nicht in Trillian.

Net7 20. Okt 2005 12:16

Re: Frage zu SocketServer und senden an einen Client
 
Zitat:

Zitat von tavoc
Das problem ist das mein Programm nix an Trillian weiterreicht.

Ich kann also joinen usw., sehe was passiert aber nur in meinem Programm und nicht in Trillian.

Also so müste es klappen.

Delphi-Quellcode:

var
MainForm: TForm1;

// Variablen Global
VonIRCempfangen:string
VonTrillianempfangen: string;
Serverstatus:boolean; // hat Server Kontakt mit Trillian ??



function TMainForm.connect():boolean;
begin
 
  // Server für Trillian starten
  ServerSocket.Port:=1024;
  ServerSocket.Active:=true;
 

end;

procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
 
  if ClientSocket.Active=false then
  begin
       ClientSocket.host :='irc.spotchat.org';
        ClientSocket.Port :=6667;
          ClientSocket.Active:=true;
  end
   else
    begin
        ClientSocket.Active:=false;
    end;
end;

procedure TMainForm.ClientSocketRead(Sender: TObject;
  Socket: TCustomWinSocket);
 
begin
       memo1.Lines.Add(VonIRCempfangen); //Memo darf hier stehen
       VonIRCempfangen:= clientsocket.Socket.ReceiveText;
   
      //!!Memo darf hier auf keinen Fall stehen!!
       if Serverstatus then
        begin
              serversocket.Socket.Connections[0].SendText(VonIRCempfangen);  
              //Memo darf hier stehen
        end;

end;

procedure TMainForm.ToolButton2Click(Sender: TObject);
begin
       ClientSocket.Active:=false;
         ServerSocket.Active:=false;
end;

procedure TMainForm.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
 
begin
         memo1.Lines.Add(VonTrillianempfangen); //Memo darf hier stehen
         
         VonTrillianempfangen:=serversocket.Socket.Connections[0].ReceiveText;
                 
         //!!Memo darf hier auf keinen Fall stehen!!

         clientsocket.Socket.SendText(VonTrillianempfangen);
          //Memo darf hier stehen

end;

procedure TMainForm.ServerSocketClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Serverstatus:=true;
  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;

Würde mich echt wundern wenn es nicht funktionieren würde.

//Edit: Deine Memo dürfen nicht zwischen lesen und an socket senden stehen.
Wenn es dazwischen steht, kommt bei Trillian nix an, wird an der Verzögerung liegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz