Empecé a usar IRC a una edad temprana, y siempre me ha fascinado. Como ejercicio de lenguaje, estaba pensando en programar un cliente IRC simple en Ruby con Shoes como interfaz gráfica. Mi pregunta para ustedes, señores amables, ¿con qué me tengo que familiarizar para comenzar esta gran aventura (además de los zapatos y Ruby por supuesto)? Me imagino que hay algún tipo de especificación sobre el protocolo IRC. ¿Alguna sugerencia?Programación de un cliente IRC (Internet-Relay-Chat) simple
Respuesta
Una publicación anterior menciona RFC1459. Si bien es una muy buena introducción al IRC, en realidad ha sido reemplazada por las RFC 2810-2813. Aquí está una lista más completa de la documentación que debe programar nada IRC relacionado con:
- RFC1459 (original RFC; superada, pero todavía útil)
- RFC2810 (arquitectura IRC)
- RFC2811 (gestión de canales de IRC)
- RFC2812 (protocolo cliente IRC)
- RFC2813 (protocolo de servidor IRC)
- CTCP specification
- DCC specification
- Updated CTCP specification (no todos los clientes son compatibles con este)
- ISupport (response code 005) draft (casi todos los servidores soportan esto hoy en día)
- Client capabilities (CAP command) draft (con el apoyo de algunos servidores/clientes)
- IRCv3 standards and proposals (las futuras características de IRC, algunos de los cuales ya son ampliamente compatibles)
El IRC especificación es recogido en el RFC 1459
me encontré con esta joya en Wikipedia. Suena intimidante.
En realidad no es así.
Telnet en un servidor IRC y sea testigo de la simplicidad del protocolo de primera mano. La parte más difícil es el apretón de manos, después de eso es muy simple.
+1 Telnet y pruébalo manualmente primero! –
+1 - He chateado en IRC a través de telnet (solo para los puntos geek) – Blorgbeard
Una vez implementé un cliente y un servidor con 2 personas más (como parte de un curso).
Te puedo decir que la RFC a la que ya te has vinculado es excelente.
También intentaría simplemente olfatear una conexión con un cliente existente para ver cómo funcionan las cosas.
No es exactamente una respuesta a su pregunta, pero puede ser útil. Si está usando Ruby, he encontrado el proyecto hojas de otoño para ser una gran manera de construir un bot de IRC usando Ruby:
http://github.com/RISCfuture/autumn/tree/master
Es más o menos la Jibble del mundo Ruby.
- 1. ¿Una biblioteca de cliente Python IRC simple que admite SSL?
- 2. Cliente IRC en python
- 3. ¿Puede un cliente IRC basado en navegador comunicarse directamente con un servidor IRC?
- 4. Estoy buscando un cliente de IRC de JavaScript
- 5. ¿Cómo programo un simple bot de IRC en python?
- 6. Un simple cliente java SOAP
- 7. Biblioteca de IRC en C#
- 8. Java: Cliente SOAP simple
- 9. ¿Cómo escribo un cliente SSH simple?
- 10. simple c programación gui
- 11. La mejor manera de incrustar un cliente de IRC en una página web
- 12. ¿Qué es un buen canal de IRC para la programación de Objective-C y Cocoa?
- 13. Cliente simple decente SQL Server
- 14. Cliente QT TCP más simple
- 15. Programa Simple Cliente/Servidor Java
- 16. Creando un bot de IRC en Java
- 17. Dado un archivo WSDL, cree un cliente Java simple
- 18. Programación de red simple en C# para principiantes?
- 19. Ejemplo simple de un buen estilo de programación de Javascript?
- 20. Apache CXF + Spring: generación de un cliente simple
- 21. .net 2.0 componente IRC
- 22. Creación de un lenguaje de programación simple en Python
- 23. ¿Cómo conectar mediante programación un cliente a un servicio WCF?
- 24. Extensión de Google Chrome Cliente REST simple
- 25. Metodologías para diseñar un lenguaje de programación simple
- 26. ¿Cómo harías para escribir un lenguaje de programación simple?
- 27. Programación simple de gráficos en 2D
- 28. Obteniendo un simple cliente Spring JMS confirme que trabaja
- 29. Programación concurrente muy simple en Python
- 30. IRC Bot Python: La mejor manera
Tenga en cuenta que RFC2810-RFC2813 están escritos solo en mi IRCnet (después de la gran división). IRCnet es básicamente la única red importante que admite canales '!'. 005 analizar y comprender cada token es ... difícil. Diferentes redes admiten otros modos de canal (como 'q',' a' y 'h' como propietario, administrador y halfop) –
' 005' análisis no es tan complicado, en realidad. Los nuevos tokens no se agregan a menudo (incluso menos en el futuro ahora que IRCv3 está siendo adoptado), y el análisis de los actuales es bastante sencillo: https://github.com/cinchrb/cinch/blob/master/lib/cinch/isupport .rb – Hinrik
No analiza todos los tokens. Simplemente analiza un puñado de tokens, pero no todos. –