Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: 0xDani en 12 Mayo 2012, 19:40 pm



Título: error en python
Publicado por: 0xDani en 12 Mayo 2012, 19:40 pm
Hola.
Veran, estoy  tratando de hacer un chat muy, muy básico, ya que es la primera vez que hago algo asi.
El problema es que al querer crear un socket se crea una captura de panttalla de la terminal.
Les dejo el código:
Código:
#!usr/bin/env python
try:
 import socket
 contacto=raw_input("""Introduce el nombre del contacto""")
 print """Durante la conversacion, escribe salir  para  cerrar el chat"""
 while true:
  sersoc=socket.socket()
  sersoc.bind((contacto,9998))
  sersoc.listen(1)
  clisoc, (host_c, puerto_c)=sersoc.accept()
  mensajerec=sersoc.recv(2048)
  mensajeen=raw_input('escribe tu mensaje:')
  false if mensajeen==salir
  sersoc.send(mensajeen)
  print mensajerec
except:
 print """Se ha producido un error y no se xk es, no me  he estudiado los
 tipos de excepciones, abre y cierra el chat"""
 raw_input('pulsa enter para salir')
y otro programa similar.
Saludos y gracias de antemano.

PD:Uso Ubuntu 12.04


Título: Re: error en python
Publicado por: Runex en 12 Mayo 2012, 19:59 pm
Ese false if, me suena muy mal :S, prueba con esto a ver:

Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import socket
  4.  
  5. contacto=raw_input("""Introduce el nombre del contacto""")
  6. print """Durante la conversacion, escribe salir  para  cerrar el chat"""
  7. x = True
  8. while x:
  9. sersoc=socket.socket()
  10. sersoc.bind((contacto,9999))
  11. sersoc.listen(1)
  12. clisoc, (host_c, puerto_c)=sersoc.accept()
  13. mensajerec=sersoc.recv(2048)
  14. mensajeen=raw_input('escribe tu mensaje:')
  15. if mensajeen == "salir":
  16. x = False
  17. sersoc.send(mensajeen)
  18. print mensajerec

De todas formas no puedes hacer un chat únicamente con un archivo, deberás crear uno para el servidor y otro para el cliente, leete ésto:

http://mundogeek.net/archivos/2008/04/12/sockets-en-python/


Título: Re: error en python
Publicado por: 0xDani en 12 Mayo 2012, 21:01 pm
Bueno, con tu metodo va mejor, pero sigue sin funcionar.Me dice:
Citar
Traceback (most recent call last):
  File "/home/yo/Escritorio/chatrunex", line 11, in <module>
    sersoc.bind((contacto,9999))
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.gaierror: [Errno -5] No address associated with hostname
Gracias de todas formas ;D


Título: Re: error en python
Publicado por: Runex en 12 Mayo 2012, 21:09 pm
Bueno, con tu metodo va mejor, pero sigue sin funcionar.Me dice:Gracias de todas formas ;D

¿Qué hostname estás usando? yo lo probé con Localhost y funcionaba :), pero no llegaba a la petición de escribe tu mensaje, no sé porqué :S.

Un saludo :)