[SOLUCIONADO] Sockets

Iniciado por fortil, Marzo 31, 2012, 08:37:15 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 31, 2012, 08:37:15 PM Ultima modificación: Febrero 14, 2015, 08:28:51 AM por Expermicid
Hola a todxs

alguien sabe algún buen tuto de sockets en python?

muchas gracias

Pasate por aca: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Marzo 31, 2012, 10:09:50 PM #2 Ultima modificación: Marzo 31, 2012, 10:20:23 PM por fortil
Gracias ANTRAX por responder

pero es que ese es basico (muy bueno igualmente) sino que necesito saber mas sobre Threading (también) y la combinación con sockets, quiero hacer una especie de chat, pero que el servidor también interactué con el cliente,
esto es lo que tengo por el momento:

Servidor:
Código: python

import SocketServer
import threading
import time

class MiTcpHandler(SocketServer.BaseRequestHandler):
def handle(self):
data=""
while data != "salir":
enviar = raw_input("Usted dice: ")
if enviar != "" and enviar != " ":
envi = self.request.send(enviar)
try:
data = self.request.recv(1024)
print "...:",data
time.sleep(0.1)

except:
print "hubo un error o se desconecto el cliente"
data = "salir"

class ThreadServer(SocketServer.ThreadingMixIn,SocketServer.ForkingTCPServer):
pass

def main():
host = "localhost"
port = 9999
server = ThreadServer((host,port),MiTcpHandler)
server_thread = threading.Thread(target=server.serve_forever)
server_thread.start()
print "server corriendo...."



main()
       


Cliente:
Código: text

import socket

def main():
msj = ""
print "cliente 0.0"
host = "localhost"
port = 9999

sock = socket.socket()
sock.connect((host,port))

while msj != "salir":
print "Ingresa un mensaje o salir para salir"
msj = raw_input("usted dice: ")
dat = sock.recv(10024)
if dat !="" and dat != " ":
print "...",dat
try:
sock.send(msj)
except:
print "no se envio el mensaje"
msj = "salir"
        sock.close()
main()


pero lo que pasa es que cuando escribe alguno de los dos (o cliente o server) no sale en el otro, sino, hasta que el otro escribe

Fijate por aca:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login