El socket Python recibe un mensaje incompleto del socket Java PrintWriter

Hice una "cola" de Python (similar a un protocolo JMS) que recibirá preguntas de dos clientes Java. El servidor python recibirá el mensaje de uno de los clientes Java y el segundo leerá la pregunta y publicará una respuesta. La conexión y la mensajería funcionan, el problema surge cuando un cliente Java responde con una cadena de gran longitud.

¡La respuesta recibida por python es incompleta! Lo que es peor, el mensaje se corta con un cierto número de caracteres y siempre con la misma longitud, pero ese número es diferente si otra persona aloja el servidor. (es decir: friend1 aloja el servidor, friend2 envía la respuesta, longitud recibida: 1380 caracteres. Friend2 aloja el servidor, friend1 publica la respuesta, longitud recibida: 1431 caracteres) Este es el código python del lado del servidor:

s = socket.socket()         
host = socket.gethostname() 
# host = "192.168.0.20"
port = 12345  
s.bind((host, port))

s.listen(5)                 
while True:
    c, addr = s.accept()     
    # print 'Got connection from', addr
    message = c.recv(8192) #Is this length a problem?

    # print message
    message = message.strip()
    ipAddress = addr[0]

Leí las preguntas aquí en StackOverflow, que c.recv () no debería tener problemas con una gran cantidad de bytes y nuestra respuesta está en algún lugar cerca de 1500 caracteres. Este es el cliente de Java:

private void openConnection(){
        try {

            socket = new Socket(HOST, PORT);

            out = new PrintWriter(socket.getOutputStream(), true);

            in = new BufferedReader(new InputStreamReader(
                    socketPregunta.getInputStream()));    

            stdIn = new BufferedReader(new InputStreamReader(System.in));


        } catch (Exception e) {}

}

public void sendAnswer(String answer) throws IOException{
        openConnection();

        out.write("PUBLISH-" + answer); //This answer is send incomplete!
        out.flush();

        closeConnection();
}

¡Gracias por adelantado!

Respuestas a la pregunta(1)

Su respuesta a la pregunta