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