[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: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


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: php

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:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta