Domanda

Come un esercizio di apprendimento, sto scrivendo un programma Python per connettersi a un canale su una rete IRC, così posso messaggi di output nel canale a stdout. Sto usando asynchat e l'invio manualmente i messaggi di protocollo, invece di usare qualcosa di simile a torto o esistente codice bot dalla rete -. Ancora una volta, si tratta di un'esperienza di apprendimento più utile in questo modo

posso inviare JOIN e comandi utente abbastanza felicemente, e posso PING / PONG via come richiesto. Tuttavia, ho notato quando si apre un socket sulla porta 6667, riceverò alcuni messaggi:

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

anche se non ho ancora inviato il JOIN / comandi dell'utente.

Quindi, è questo sequenza di apertura di notifiche specificato da nessuna parte? Per quanto posso vedere, l'RFC non specifica per nulla in particolare per accadere prima che il client invia il comando JOIN, e non ero sicuro se attendere la ricezione di questi avvisi prima di inviare il comando JOIN, e in caso affermativo come faccio a rilevare che ho ricevuto tutti gli avvisi?

È stato utile?

Soluzione

Non c'è alcun obbligo RFC per fare questo, è solo una cosa comune che i server in natura fanno. Si osservi che sono semplici vecchi comandi GARA (cioè solo messaggi). Proprio trattarli come messaggi inviati a una pseudo-utente "AUTH" (dal momento che il server non ha un nome migliore per voi ancora). Non siete tenuti ad aspettare per loro, e il server non è tenuto ad inviare loro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top