elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] Salas de chat
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Salas de chat  (Leído 4,555 veces)
WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
[Python] Salas de chat
« en: 2 Agosto 2011, 03:54 am »

Hola!
Estoy haciendo un sistema de salas de chat en Python y no avanzo  :(
Tengo un script que (en teoría) recibe los mensajes enviados por un usuario y los reenvía a todos los usuarios de la sala.
También tengo un script cliente.

Código
  1. #!/usr/bin/env python
  2. # -*- coding: cp1252 -*-
  3. import socket, sys
  4. print "### --- * --- Servidor del PyXat activat --- * --- ###"
  5. print "\n\n\n"
  6.  
  7. print "Creant objecte connector - socket..."
  8. try:
  9.    serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  10. except IOError:
  11.    print "Error: No s'ha pogut crear l'objecte principal socket!"
  12.    sys.exit(1)
  13. print "Objecte connector - socket principal creat ... OK"
  14.  
  15. print "Fixant objecte connector - socket..."
  16. try:
  17.    serv.bind(("localhost", 600))
  18. except socket.error:
  19.    print "Error: No s'ha pogut fixar l'objecte principal socket!"
  20.    sys.exit(1)
  21. print "Objecte connector - socket principal fixat ... OK"
  22.  
  23. try:
  24.    llist = int(input('Quantes connexions accepto? '))
  25. except ValueError:
  26.    print 'Indica un número!'
  27.    sys.exit(1)
  28. print 'Ok, creant ' , llist , ' espais de connexió...'
  29. serv.listen(llist)
  30. print llist , 'espais de connexió creats al xat   ... OK'
  31.  
  32. print "Creant sistema de connexió..."
  33. def conn():
  34.    enviar = socket.socket()
  35.    sv, addr = serv.accept()
  36.    con = socket.socket()
  37.    print addr , "s'ha connectat!"
  38.    host = addr[0]
  39.    port = addr[1]
  40.    while True:
  41.        msg = sv.recv(1024)
  42.        enviar.connect((host, port))
  43.        enviar.send(msg)
  44.        print msg
  45. print "Iniciant sistema de connexió..."
  46. conn()
  47.  

Y el script cliente:

Código
  1. #!/usr/bin/env python
  2. # -*- coding: cp1252 -*-
  3.  
  4. import socket
  5. print "Benvingut al PyXat!"
  6. nick = raw_input("Escriu el teu nick: ")
  7. sala = raw_input("Escriu la direcció d'una sala: ")
  8. c = socket.socket()
  9. c.connect((sala, 600))
  10. while 1:
  11.    dic = raw_input("> ")
  12.    c.send(nick)
  13.    c.send(dic)
  14.  

Y no me funciona (normal en mí  :P).

He probado también a usar dos sockets a la vez: uno para enviar y otro para recibir. En el script servidor, la lista addr consta de la dirección IP y de un puerto; he probado a usar addr[0] como dirección de conexión y addr[1] como puerto, pero no funciona. También he intentado añadir la lista addr a otra lista e iterar sobre cada elemento de ella con un for, pero no tengo muy claro cómo hacerlo.

Agradecería una mano en esto.

Saludos!


En línea

La cacatúa yoyó es nueva en el zoo!
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] Salas de chat
« Respuesta #1 en: 2 Agosto 2011, 14:22 pm »

Sugerencia ;) ...
http://twistedmatrix.com/trac/

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
Re: [Python] Salas de chat
« Respuesta #2 en: 5 Agosto 2011, 05:08 am »

Perdón por tardar tanto, es que estoy de vacaciones.
Voy a mirar lo del Twisted, a ver si me aclaro.

Por curiosidad: qué he hecho mal en mi script? Hay forma de arreglarlo?

Gracias!
En línea

La cacatúa yoyó es nueva en el zoo!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Los cines boicotean el primer estreno simultáneo en salas y en Internet
Noticias
wolfbcn 0 1,245 Último mensaje 3 Julio 2012, 21:28 pm
por wolfbcn
ChatStep, salas de chat anónimas, cifradas y desechables
Noticias
wolfbcn 0 2,567 Último mensaje 6 Julio 2012, 17:54 pm
por wolfbcn
JP Morgan Chase y Deutsche Bank prohibirán el uso de salas de chat entre ...
Noticias
wolfbcn 0 1,544 Último mensaje 17 Diciembre 2013, 18:25 pm
por wolfbcn
Encontrar salas de chat con C# « 1 2 »
.NET (C#, VB.NET, ASP)
TickTack 18 12,221 Último mensaje 6 Julio 2017, 10:07 am
por Serapis
Problema chat en terminal con python
Scripting
aangrymasther 0 2,502 Último mensaje 30 Noviembre 2017, 21:22 pm
por aangrymasther
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines