Soquete Python recebe mensagem incompleta do soquete Java PrintWriter

Fiz uma "fila" python (semelhante a um protocolo JMS) que receberá perguntas de dois clientes Java. O servidor python receberá a mensagem de um dos clientes Java e o segundo lerá a pergunta e publicará uma resposta. A conexão e o sistema de mensagens funcionam, o problema surge quando um cliente Java responde com uma String de grande comprimento.

A resposta recebida pelo python está incompleta! O que é pior, a mensagem é cortada em um determinado número de caracteres e sempre no mesmo comprimento, mas esse número é diferente se outra pessoa hospedar o servidor. (ou seja: friend1 hospeda o servidor, friend2 envia resposta, comprimento recebido: 1380chars. Friend2 hospeda o servidor, friend1 publica a resposta, comprimento recebido: 1431chars) Esse é o código python do 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]

Li perguntas aqui no StackOverflow, que c.recv () não deve ter problema com um grande número de bytes e nossa resposta é algo em torno de 1500 caracteres. Este é o cliente 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();
}

Desde já, obrigado!

questionAnswers(1)

yourAnswerToTheQuestion