Byte misterioso após o pacote TLS

Estou tentando criar uma conexão TCP SSL do Java para um servidor Vala. Tudo funciona bem até eu enviar um segundo pacote para o servidor. (também o primeiro pacote envia bem). O servidor recebe apenas o primeiro byte (neste caso, o "1") do segundo pacote, nada mais, mas se eu me conectar ao servidor sem SSL, tudo funcionará bem. Eu acho que o servidor não é o problema, porque todas as outras conexões de outro cliente Vala funcionam muito bem.

Estou usando um certificado não confiável, então criei um TrustManager personalizado e estou usando o OpenJDK 7 (OS elementar - Linux). Aqui está o meu código:

//Main:
SSLHandler handler = new SSLHandler();
handler.createSecureSocket("localhost", 7431);

byte[] data = {1,4,1,1,1,1};
handler.getOutputStream().write(data);
handler.getOutputStream().write(data);

// SSLHandler
public class SSLHandler {

    // SSL Socket erstellen
    SSLSocket sslSocket;

    public void createSecureSocket(String ip, int port) throws UnknownHostException, IOException, KeyManagementException, NoSuchAlgorithmException {

        SSLSocketFactory factory = (SSLSocketFactory) new DefaultTrustManager().createSSLFactory("TLS");

        sslSocket = (SSLSocket) factory.createSocket(ip, port);
    }

    public OutputStream getOutputStream() throws IOException {
        return sslSocket.getOutputStream();
    }

    public InputStream getInputStream() throws IOException {
        return sslSocket.getInputStream();
    }

}

//Custom Trust Manager
public class DefaultTrustManager implements X509TrustManager {

    @Override
    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}

    @Override
    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}

    @Override
    public X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public SSLSocketFactory createSSLFactory(String protocol) throws NoSuchAlgorithmException, KeyManagementException {
        SSLContext sslContext = SSLContext.getInstance(protocol);

        TrustManager[] byPassTrustManager = new TrustManager[] {this};

        sslContext.init(null, byPassTrustManager, new SecureRandom());

        return sslContext.getSocketFactory();
    }
}

Alguém conhece uma solução para este problema?

questionAnswers(1)

yourAnswerToTheQuestion