Bueno la cosa es que quiero crear un chat para ver como van los sockets y demás, la cosa es que si no escribo nada y lo envio se corta la comunicacion.Lo he intentado solucionar pero no he conseguido nada.
Aqui dejo los codigos:
CLIENTE
Código Python:
Ver original#!/usr/bin/env python
import socket
# creamos el socket
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# ahora acemos que se conecte con el servidor
clientsocket.connect(('localhost',8000))
# este bucle hace que mientras este conectado haga lo que pone en el interior
while 1:
data = raw_input('>') #funcion que hace que podamos escribir para mandarlo posteriormente
if data != " ": # si no ai datos no lo envia
clientsocket.send(data)# enviamos los datos que hemos escrito
else:
print "No has escrito nada"
newdata = clientsocket.recv(1024) # recibimos los datos que envie el servidor
print 'servidor: %s' % newdata # y con esto lo escribimos en pantalla
clientsocket.close() # cerramos el socket
SERVIDOR
Código Python:
Ver original#!/usr/bin/env python
import socket
# creamos el socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# usamos esta funcion para mantener en eschucha el puerto que queramos este caso 8000
serversocket.bind(('localhost', 8000))
# mantenemos en escucha el servidor
serversocket.listen(1)
# aceptamos la conexion
clientsocket, clientaddress = serversocket.accept()
print 'Conexion desde: ', clientaddress # escribimos la ip del cliente
# mientras estamos conectados hace lo que este dentro del bucle
while 1:
data = clientsocket.recv(1024) # recibimos datos del cliente
print 'cliente %s' % data # ponemos en pantalla lo que nos a dicho el cliente
newdata = raw_input('>') # escribimos lo que queramos enviar
if newdata != " ": # si no hay datos no lo enviamos
clientsocket.send(newdata) # enviamos lo que hemos escrito
clientsocket.close() # cerramos el socket