Hmmz, nu weet ik het niet meer
Het is inmiddels opgelost, dus je hoeft niet alles door te lezen
Ik probeer een connectie te maken met een irc server, in C#. Klinkt makkelijk he? Is geloof ik ook zo
. Ik heb lokaal ff UnrealIRC lopen, om te serveren.
Gaat nog goed, ik krijg inderdaad een connectie, en de reader werkt. Ik heb ergens anders een threadje lopen die blijft readen, en alles gewoon op de console uitspuugt. Dat gaat ook nog goed
.
Als ik helemaal geen commands verstuur, krijg ik dit :
Die 451 komt elke 15 secs langs.
Best logisch, eigenlijk, want ik héb ook nog niet geregistreerd. Gaan we even doen.
Uit de rfc:
Nou, eerst dus even een pass versturen, dan een nick en een user
execCommand schrijft naar de stream, en flusht. Volgens mij komen de commands wel aan, want dit krijg ik nu:
Hmmm, nu ben ik dus om de een of andere reden nog steeds niet geregistreerd, en nu snap ik het dus niet meer...
---------------------------------------------------------------------------
^Die lijn is het omslagpunt. Nu snap ik het namelijk weer wel
In een uiterst hopeloze poging, om te kunnen zeggen dat ik écht álles heb geprobeerd deed ik nog even dit:
Om die nospoof in te tikken.
En, tralalalalaaa, het werkt
. Ik vind dat ze dat toch wel even ergens bij mogen zetten. Connecten is toch helemaal niet hetzelfde als registeren toch
?
En ik hád al een ping thread lopen... Maja, ik ga het nog maar even uitzoeken.
Ik post dit topic toch maar, voor in de archieven, laat maar lekker wegzakken.
----------------------------------------------------
ANTWOORD:
- Je moet de ping beantwoorden, of "notice {pingid} nospoof" sturen, vóórdat je geregistreerd bent
Waarom ben ik daar gisteren en eergisteren niet opgekomen?
Het is inmiddels opgelost, dus je hoeft niet alles door te lezen
Ik probeer een connectie te maken met een irc server, in C#. Klinkt makkelijk he? Is geloof ik ook zo
code:
1
2
3
4
| irc = new TcpClient (SERVER, PORT); stream = irc.GetStream (); reader = new StreamReader (stream); writer = new StreamWriter (stream); |
Gaat nog goed, ik krijg inderdaad een connectie, en de reader werkt. Ik heb ergens anders een threadje lopen die blijft readen, en alles gewoon op de console uitspuugt. Dat gaat ook nog goed
Als ik helemaal geen commands verstuur, krijg ik dit :
code:
1
2
3
4
5
6
7
8
| :localhost NOTICE AUTH :*** Looking up your hostname... :localhost NOTICE AUTH :*** Checking ident... :localhost NOTICE AUTH :*** Checking for open socks server... :localhost NOTICE AUTH :*** Received identd response :localhost NOTICE AUTH :*** Found your hostname :localhost 451 * :You have not registered :localhost 451 * :You have not registered :localhost 451 * :You have not registered |
Die 451 komt elke 15 secs langs.
Best logisch, eigenlijk, want ik héb ook nog niet geregistreerd. Gaan we even doen.
Uit de rfc:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| 3.1 Connection Registration
The commands described here are used to register a connection with an
IRC server as a user as well as to correctly disconnect.
A "PASS" command is not required for a client connection to be
registered, but it MUST precede the latter of the NICK/USER
combination (for a user connection) or the SERVICE command (for a
service connection). The RECOMMENDED order for a client to register
is as follows:
1. Pass message
2. Nick message 2. Service message
3. User message
Upon success, the client will receive an RPL_WELCOME (for users) or
RPL_YOURESERVICE (for services) message indicating that the
connection is now registered and known the to the entire IRC network.
The reply message MUST contain the full client identifier upon which
it was registered. |
Nou, eerst dus even een pass versturen, dan een nick en een user
code:
1
2
3
| execCommand("PASS blaaat");
execCommand("NICK jopie");
execCommand("USER guest 0 * :Erikje B"); |
execCommand schrijft naar de stream, en flusht. Volgens mij komen de commands wel aan, want dit krijg ik nu:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Starting Reader Thread! :localhost NOTICE AUTH :*** Looking up your hostname... :localhost NOTICE AUTH :*** Found your hostname (cached) :localhost NOTICE AUTH :*** Checking ident... :localhost NOTICE AUTH :*** Checking for open socks server... -> PASS blaaat -> NICK jopie -> USER guest 0 * :Erikje B :localhost NOTICE AUTH :*** Received identd response :localhost 451 * :You have not registered NOTICE jopie :*** If you are having problems connecting due to ping timeouts, pl ease type /notice B35EF12A nospoof now. PING :B35EF12A :localhost 451 * :You have not registered :localhost 451 * :You have not registered |
Hmmm, nu ben ik dus om de een of andere reden nog steeds niet geregistreerd, en nu snap ik het dus niet meer...
---------------------------------------------------------------------------
^Die lijn is het omslagpunt. Nu snap ik het namelijk weer wel
code:
1
| execCommand(Console.ReadLine()); |
Om die nospoof in te tikken.
En, tralalalalaaa, het werkt
En ik hád al een ping thread lopen... Maja, ik ga het nog maar even uitzoeken.
----------------------------------------------------
ANTWOORD:
- Je moet de ping beantwoorden, of "notice {pingid} nospoof" sturen, vóórdat je geregistreerd bent
Waarom ben ik daar gisteren en eergisteren niet opgekomen?
[ Voor 3% gewijzigd door eamelink op 31-12-2002 12:11 ]