Question

Comme un exercice d'apprentissage, j'écris un programme Python pour se connecter à un canal sur un réseau IRC, donc je ne peux les messages de sortie dans le canal à la sortie standard. J'utilise asynchat et envoyer manuellement les messages de protocole, plutôt que d'utiliser quelque chose comme code bot tordu ou existant sur le net -. Encore une fois, il est une expérience d'apprentissage plus utile de cette façon

Je peux envoyer JOIN et commandes utilisateur tout à fait heureux, et puis loin PING / PONG au besoin. Cependant, je l'ai remarqué lors de l'ouverture d'un socket au port 6667, je reçois des messages:

NOTICE AUTH :*** Looking up your hostname...
NOTICE AUTH :*** Checking ident
NOTICE AUTH :*** Found your hostname
NOTICE AUTH :*** No identd (auth) response

même si je ne l'ai pas encore envoyé les commandes JOIN / USER.

Alors, est cette séquence d'ouverture des notifications prévues partout? Pour autant que je peux voir, la RFC ne spécifie pas quelque chose en particulier se produire avant que le client envoie la commande JOIN, et je n'étais pas sûr que d'attendre la réception de ces avis avant d'envoyer la commande JOIN, et si oui comment puis-je perçois que j'ai reçu tous les avis?

Était-ce utile?

La solution

Il n'y a pas besoin de RFC pour ce faire, il est juste une chose commune que les serveurs dans la nature font. Observer qu'ils sont simples anciennes commandes AVIS (à savoir seulement des messages). Il suffit de les traiter comme les messages envoyés à un pseudo-utilisateur « AUTH » (puisque le serveur ne dispose pas encore d'un meilleur nom pour vous). Vous n'êtes pas obligé d'attendre, et le serveur est pas obligé de les envoyer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top