ident request
-
hoi!
also, ich probiere einen irc client zu schreiben. um die verbindung vollständig anzumelden, muss man einen ident request machen (http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1413.html <- rfc des ident protokolls) kleines problem: wie finde ich den port raus, über den mein pc mit dem server kommuniziert? so wie bei netstat, bsp:
TCP blabla:1899 213.221.189.3:6668 HERGESTELLT
...............^
den port möchte ich haben :o ich weiss nur nicht von wo.thx
[ Dieser Beitrag wurde am 01.12.2002 um 19:04 Uhr von f00lish editiert. ]
-
Hmm den musst du doch schon beim connecten mitangeben oder wie connectest du zum Server? Standardport bei den IRC Servern ist 6667, machen können allerdings auch auf einem anderen Port erreicht werden!
-
danke, aber das ist nicht das, was ich will. es muss ja beim client auch ein port geöffnet sein, um zu connecten, im oberen beispiel wäre es der port 1899. und diesen port brauche ich, um den ident request zu machen. wo steht denn der?
danke für weitere hilfe
-
Mit dem ident Request sind glaub ich nur die Passwort, Nick und User Message gemeint, weitere Erläuterungen siehe http://www.irchelp.org/irchelp/rfc/chapter4.html#c4_1
Deine rfc handelt glaub ich nicht von irc?!
Hier die URL die mir bei meinem IRC Client geholfen hat : http://rfc.sunsite.dk/rfc/rfc1459.html
Schau da mal unter dem Punkt 4.1 Connection Registration
-
das anscheinend doch was mit irc zu tun:
http://netsplit.de/crimson/node28.html2 abschnitt
-
Suchst Du evtl. getpeername() ?
-
öhm! ich bekomm etwas komisches....
sockaddr_in sta; getpeername(s, (LPSOCKADDR)&sta, (int*)sizeof(struct sockaddr_in));
wenn ich dann "sin_port" auslese, kommt da so ne zahl im 50'000 bereich, was ja nicht so richtig ist. vielleicht hab ich im letzten parameter irgendwie was falsch gemacht, aber es funktioniert nur so.
btw: wer sich fragt warum ich sockaddr_in genommen habe, der kann das ->
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/sockaddr_2.asp lesen und mir sagen, ob ich das richtig oder falsch verstanden habe, dass ich da beide structs übergeben kann.hat sonst jemand eine andere idee? netstat bringt das ja auch fertig, dann muss es ja irgendwie gehen
-
*push* danke
/edit: ich hab gemerkt, dass die funktion gar nichts am inhalt des structs ändert, irgendetwas ist da faul....
[ Dieser Beitrag wurde am 03.12.2002 um 20:34 Uhr von f00lish editiert. ]
-
Benutzt Du auch htons()/htonl() ?
-
danke, ich habs gefunden, ich sollte getsockname erst NACH einem aufruf von bind, oder connect aufrufen...soviel dazu, danke für die hilfe :o