Inserir data sql server

como inserir data com rs.getTimestamp(10) num campo do sql server 2012

Você não insere com o ResultSet e não insere um getTimestamp, isto é para você obter os dados.
Se está usando um PreparedStatement, existe o tipo de dado timestamp, do package java.sql.

String query = "INSERT INTO FOO (a, b, c) VALUES (?, ?, ?)";
PreparedStatement stm = 
    con.prepareStatement(query);
stm.setTimestamp(1, new java.sql.Timestamp(variavelDoTipoDate.getTime()));
//resto do código aqui

Coloca o socket a null quando utilizo este método devido while ((comunicacao = (Comunicacao) entrada.readObject()) != null)

Pode escrever de uma maneira que consigamos entender o que diz?
Eu supus que você está lendo estes dados de um socket e que está com dificuldades na leitura dos mesmos. Logo, você nunca conseguirá inserir algo que não leu, certo?
Então, teu problema é outro (pode até ser que tenha problemas no insert, mas, existe um problema anterior que impede ele de funcionar).