Сокет Python получает неполное сообщение от сокета Java PrintWriter

Я создал «очередь» Python (похожую на протокол JMS), которая будет получать вопросы от двух клиентов Java. Python-сервер получит сообщение от одного из клиентов Java, а второй прочитает вопрос и отправит ответ. Соединение и обмен сообщениями работают, проблема возникает, когда клиент Java отвечает строкой большой длины.

Ответ, полученный Python, является неполным! Что еще хуже, сообщение вырезается с определенным количеством символов и всегда одинаковой длины, но это число отличается, если кто-то другой размещает сервер. (то есть: friend1 размещает сервер, friend2 отправляет ответ, длина получена: 1380 символов. Friend2 размещает сервер, friend1 отправляет ответ, длина получается: 1431 символ) Это код Python на стороне сервера:

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]

Здесь я читаю вопросы о StackOverflow: у c.recv () не должно быть проблем с большим количеством байтов, а наш ответ где-то близко к 1500 символам. Это 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();
}

Заранее спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос