Autor Beitrag
freq.9
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39

Win XP (RedHat 9)
Delphi 7.0 Ent
BeitragVerfasst: So 22.02.04 03:12 
Ich bastel z.zt an einem kleinen IRC-Clienten... Nur bekomm ich es nicht hin mich einzuloggen auf dem Q-Net Server... Diese Message kommt immer:
Zitat:
NOTICE AUTH :*** Looking up your hostname
NOTICE AUTH :*** Found your hostname, cached
NOTICE AUTH :*** Checking Ident
NOTICE AUTH :*** No ident response
PING :714840670
:pelikaista.fi.quakenet.org 513 frpo :Your client may not be compatible with this server.

oder
Zitat:
NOTICE AUTH :*** Looking up your hostname
NOTICE AUTH :*** Found your hostname, cached
NOTICE AUTH :*** Checking Ident
NOTICE AUTH :*** No ident response
:pelikaista.fi.quakenet.org 433 * freq9 :Nickname is already in use.
ERROR :Closing Link: by pelikaista.fi.quakenet.org (Ping Timeout)

was muss ich machen damit ich mich einloggen kann bzw. dass mein Client kompatibel ist mit dem Server ???

Hier noch der Quelltext:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
unit Unit1;

interface

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

function Hex(strData:string): string;

type
  TForm1 = class(TForm)
    edt_Server: TLabeledEdit;
    btn_Connect: TButton;
    edt_Port: TLabeledEdit;
    ClientSocket: TClientSocket;
    pnl_Status: TPanel;
    MainMenu: TMainMenu;
    mmt_Datei: TMenuItem;
    mms_Beenden: TMenuItem;
    mem_Chat: TMemo;
    edt_Text: TEdit;
    btn_Senden: TButton;
    btn_Disconnect: TButton;
    edt_Username: TLabeledEdit;
    edt_Passwort: TLabeledEdit;
    procedure btn_ConnectClick(Sender: TObject);
    procedure ClientSocketConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocketDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure mms_BeendenClick(Sender: TObject);
    procedure ClientSocketConnecting(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure btn_DisconnectClick(Sender: TObject);
    procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure btn_SendenClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Function NetErrMessage(ErrorCode: Integer): String;
begin
  case ErrorCode of
     10004: result := 'Aufruf wurde abgebrochen!'; 
     10013: result := 'Zufriffsfehler!'; 
     10014: result := 'Falsche Parameter!';
     10038: result := 'Ungültiger Socket angegeben!';
     10039: result := 'Es wurde keine Zieladresse angegeben!';
     10048: result := 'IP-Adresse bzw. Port werden schon/noch benutzt!';
     10049: result := 'Port oder Adresse nicht verfügbar!'; 
     10050: result := 'Netzwerk reagiert nicht!'; 
     10051: result := 'Netzwerk ist nicht erreichbar!'; 
     10054: result := 'Verbindung wurde getrennt!'; 
     10056: result := 'Socket schon verbunden!'; 
     10060: result := 'Aufruf dauert zu lange, daher Abbruch!';
     10061: result := 'Server nicht gefunden, oder Verbindung nicht akzeptiert!';
     11001: result := 'DNS-Server nicht gefunden!'; 
  else
    result := 'Ein Unbekannter Fehler ist aufgetreten. [' + IntToStr(ErrorCode) + ']';
  end;
end;

function Hex(strData:string): string; 
var sresult:string; sfinal:string; hexc:cardinal; i:integer; 
begin 
  i:=1; 
  while i<=length(strData) do 
    begin 
      hexc := strtoint('$' + copy(strData,i,2)); 
      sresult :=  inttostr(hexc); 
      sresult := chr(strtoint(sresult)); 
      sfinal := sfinal + sresult; 
      i:=i+2; 
    end; 
  result := sfinal 
end; 


procedure TForm1.btn_ConnectClick(Sender: TObject);
begin
  if edt_Server.Text = '' then
  begin
    MessageDlg('Keine IP gegeben', mtError, [mbOK], 0);
  end
  else
  begin
    // Festlegung des Ports
    ClientSocket.Port := StrToInt(edt_Port.Text);
    // IP des Zielrechners
    ClientSocket.Host := edt_Server.Text;
    // Aufbau der Verbindung
    ClientSocket.Active := True;
  end;
end;

procedure TForm1.ClientSocketConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  pnl_Status.Color := clGreen;
  pnl_Status.Caption := 'Status: verbunden';
  Clientsocket.Open;
  with Clientsocket.Socket do
  begin
    SendText('CVERS 11015 4610' + #13#10);
    SendText('PASS '+ edt_Passwort.Text + #13#10);
    SendText('NICK '+ edt_Username.Text + #13#10);
    SendText('apgar WjHsUUs 0' + #13#10);
    SendText('SERIAL 0' + #13#10);
    SendText('USER '+ edt_Passwort.Text + ' ' + ClientSocket.Socket.LocalAddress + ' ' + edt_Server.Text + ' :RealName' + #13#10);
    SendText('verchk 32514 720911' + #13#10);
  end;
  edt_Server.Enabled := False;
  edt_Port.Enabled := False;
  edt_Username.Enabled := False;
  edt_Passwort.Enabled := False;
end;

procedure TForm1.ClientSocketDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  pnl_Status.Color := clRed;
  edt_Server.Enabled := True;
  edt_Port.Enabled := True;
  edt_Username.Enabled := True;
  edt_Passwort.Enabled := True;
end;

procedure TForm1.ClientSocketError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
  if Errorcode <> 0 then
    Showmessage('Server: '+NetErrMessage(ErrorCode));
    errorcode := 0;
end;

procedure TForm1.mms_BeendenClick(Sender: TObject);
begin
  // Programm beenden
  Close;
end;

procedure TForm1.ClientSocketConnecting(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  pnl_Status.Color := $000080FF;
  pnl_Status.Caption := 'Status: versuche zu verbinden';
end;

procedure TForm1.btn_DisconnectClick(Sender: TObject);
begin
  // Verbindung trennen
  ClientSocket.Active := False;
  // Festlegung des Ports
  ClientSocket.Port := 0;
  // IP des Zielrechners
  ClientSocket.Host := '';
end;

procedure TForm1.ClientSocketRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  mem_Chat.Text := mem_Chat.Text + ClientSocket.Socket.ReceiveText;
end;

procedure TForm1.btn_SendenClick(Sender: TObject);
begin
  ClientSocket.Socket.SendText(edt_Text.Text);
end;

end.


Moderiert von user profile iconDeCodeGuru: Code- durch Delphi-Tags ersetzt

_________________
Admin of RealScripts
PaulG
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 22.02.04 11:32 
Im zweiten Fall "Nickname already in use" musst du dir nur einen anderen Nickname als freq9 auswählen, da dieser momentan benutzt wird. Die meisten erweitern ihn dann mit z.B. freq9' (also mit unauffäligem Sonderzeichen). Im ersten Fall kann es auch sein, dass der Server im Moment keine Verbindungen annimmt. Hab Geduld oder probier einen anderen aus.
freq.9 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39

Win XP (RedHat 9)
Delphi 7.0 Ent
BeitragVerfasst: So 22.02.04 17:53 
naja hat denn wer nen quellcode oder nen deutsches tutorial dazu wie ich da richtig zu connecte ???

_________________
Admin of RealScripts
freq.9 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39

Win XP (RedHat 9)
Delphi 7.0 Ent
BeitragVerfasst: So 22.02.04 23:58 
man hätt auch sagen könn dass ich den anhang von "PING :" also PONG an den Server zurückschicken muss !
habs bis jetzt erstma geschafft !

_________________
Admin of RealScripts