Como crear Cliente IRC [VB.NET]

Iniciado por TomaSs, 27 Julio 2010, 06:45 AM

0 Miembros y 2 Visitantes están viendo este tema.

TomaSs

Hola.
Pues abro este tema para ver si pueden echarme una mano con la creación de un pequeño cliente de irc en vb.net, ya que he buscado en todos los rincones de google y no he logrado encontrar nada que funcione, solo algunos codigos fuente pero no funcionan.
La idea es hacer algo simple, que se conecte a un servidor y que por ejemplo entre a un canal y obtenga la lista de nicks, y que me permita enviar mensajes al canal y recibir los mensajes que son recibidos en el canal.
Aver si me podeis echar una mano y orientarme un poco, y si sabeis de algun ejemplo de codigo que funcione para probarlo y modificarlo me sería también de gran ayuda.
Muchas gracias de antemano! Saludos!

[D4N93R]

Primero antes de comenzar a hacerlo debes tener conocimientos de sobre Conexiones TCP/IP, Manejo de Streams, y eso.

Revisa primero un poco el foro con esos temas, luego simplemente estableces una conexión al servidor IRC y le pasas los comandos necesarios.

TomaSs

Con el manejo de Streams no tengo problema en principio.
Asi que miraré a ver si encuentro algo de conexiones tcp/ip, pero si sabes de algún post especialmente interesante te agradecería que me lo pasaras.
De todas formas, muchísimas gracias, me sirve para empezar a indagar... :)

[D4N93R]


TomaSs

#4
D4N93R, pues he copiado todo el código del tutorial de Hendrix y al ejecutar no se por que razón me da este error:



Sabes porqué puede ser?
A! utilizo el visual studio 2010

Gracias! ;)

[D4N93R]

Postea el código completo, en donde creas la instancia de socket, es la IP a la que lo estás asociando.

TomaSs

IPAddress direc = Dns.GetHostEntry("localhost").AddressList[0];
            IPEndPoint Ep = new IPEndPoint(direc, 12345);
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
           
            socket.Bind(Ep);
            socket.Listen(100);


Aver si ves algo raro... :)

[D4N93R]

Dns.GetHostEntry("localhost").AddressList te regresa todas las IP asignadas al nombre del equipo que escribiste en el método, pero normalmente ahora en equipos actualizados tienes IPv6 habilitado, por lo que seguramente es la primera que te está regresando en el array.

Prueba con el segundo del array. Mejor te recomiendo mejor siempre escribir 127.0.0.1 xD

Saludos.

TomaSs

#8
Ahí está! con el 2º del array ya no da el error y se queda escuchando, vaya jefe me estas hecho! hahahaha
Pero el problema ahora es que no se mandarle mensajes desde netcat, me he bajado netcat para windows pero no se mandarle mensajes porque Hendrix no explica como hacerlo :S
Con que comando debería hacerlo?

Solucionado: Ya esta encontrado, en el netcat le meto el siguiente comando "nc 127.0.0.1 12345" mientras el programa esta escuchando y ya puedo enviarle mensajes. :)

Muchas gracias D493R

[D4N93R]

Seguro, no hay problemas, pero una pregunta para qué usas NC?

Estás haciendo un cliente IRC o un Server IRC?

Saludos!