Envio de string + DataOutputStream

Olá pessoal,
estou tentando enviar uma string do cliente para o servidor utilizando DataOutputStream.

writer= new DataOutputStream(socket.getOutputStream());

byte[] buffer = new byte[10];

StringBuffer teste = new StringBuffer("\\Tensao"); teste.append(";"); teste.append("\\Corrente");

 writer.write(buffer);

Até que funciona, mas cada caracter está sendo enviado em um byte e no servido tenho que “desconverter” usando a tabela ASCII.
Gostaria de fazer o envio dessa string de uma maneira mais simples (leia-se inteligente).
Alguém pode me ajudar?
Obrigado

Cara, pra fazer isso eu uso um ObjectOutputStream ao invez do DataOutputStream, e da mesma forma um ObjectInputStream para ler do outro lado.

Então ficaria assim

ObjectOutputStream writer = new ObjectOutputStream(socket.getOutputStream());
String buffer = "\\Tensao;\\Corrente";
writer.writeObject(buffer);

Do outro lado ficaria assim:

ObjectInputStream entrada = new ObjectInputStream(conexao.getInputStream());
String input[] = entrada.readObject().toString().split(";");

Será que assim ajuda?

A primeira implementação que fiz foi usando ObjectInput/OutputStream, funciona maravilha.
O problema é que além de clientes Java também tenho clientes C, portanto tenho que fazer a implementação de modo que o cliente somente envie uma string e o servidor não fique dependente do recebimento de objetos.
Entendeu o problema?
Agradeço muito a tentativa.

[quote=Juino]
Gostaria de fazer o envio dessa string de uma maneira mais simples (leia-se inteligente).
Alguém pode me ajudar?
Obrigado[/quote]

Se vc quer fazer isso de uma maneira mais simples, então recomendo vc utilizar as classes PrintStream e Scanner:

//lado cliente
PrintStream pw=new PrintStream(socket.getOutputStream());		
pw.println("\\Tensao\\Corrente");
pw.flush(); //o método flush é utilizado para limpar o buffer, garantindo que todas a mensagens foram enviadas
pw.close();

//lado servidor
Scanner scanner=new Scanner(socket.getInputStream());

		while(scanner.hasNextLine()){ //enquanto existirem linhas de dados no buffer ele continua no while

			System.out.println(scanner.nextLine()); //imprime no console a linha enviada e avança o buffer para a próxima linha

		}
		
scanner.close();

Boa sorte!