Si usas la clase socket normal de java o serversocket y a ella le haces directamente el getOutputStream y no haces más cosas raras, java no envía nada por el socket.
Hay clases "raras" de java que sí lo hacen, como ObjectOutputStream, así que es cuestión de no usarlas. O bien si no usas esa clase ObjectOutputStream, pero usas el Serializable de java para intentar enviar un objeto java.
Coge el getOutputStream(), encapsúlalo si quieres en un DataOuptutStream y limítate a usar los métodos write de tipos primitivos (ojo con el String, que usa formato UTF y quizás no es el que admita el otro lado).
Se bueno.