Só String por Socket?

Pessoal

Até hoje usei Sockets para enviar mensagens de texto (String) entre cliente e servidor.

A pouco tempo recebi uma tarefa de meu professor (a qual já cumpri):
Enviar dados em tipos primitivos (int, double, float, etc.) e enviar mais de um dado ao mesmo tempo (array de dados em uma mesma mensagem/conexão/socket).

O professor me sugeriu lançar essas classes como um projeto open-source, só que eu fiquei de ver se isso já não existe (uma API que mande tipos de dados primitivos via socket) na internet, pois não estou nem um pouco afim de “reinventar a roda”.

Bom, acabei não achando nada (tem vários exemplos pela internet de como fazer, mas nenhuma API pronta (para facilitar as coisas)).

Gostaria de saber: será que alguém conhece alguma API dessas?

Caso não, pretendo lançar a API, só que vou precisar da ajuda aqui da comunidade: quais outros tipos seriam interessantes (Exemplos)?

Atualmente a API já envia:
String, int, Double, float, byte, char, short e long

Caso seja lançada, pretendo criar também:
File (no caso, file seria um arquivo inteiro, que ao chegar ao destino, seria salvo(criado) em um diretório do HD especificado pelo destino), BigInteger, BigDecimal, outros (sugestões).

Alguém sabe se isso já existe?

Vlw comunidade! :thumbup:

Manda sua API pra a gente dar uma olhada

vc consegue enviar qlqr coisa… imagem, arquivo e etc… e vc num precisa de nenhuma api diferente não…
o proprio java te da suporte a isso.

ABS…

desculpa duplicou minha resposta … :@

[quote=dxos]vc consegue enviar qlqr coisa… imagem, arquivo e etc… e vc num precisa de nenhuma api diferente não…
o proprio java te da suporte a isso.

ABS…[/quote]

Ok, concordo plenamente.
Só que, para isso, você precisa transformar o seu dado em texto (String), mandar como String e, no destino, converter isso para o dado novamente ou existe alguma forma de mandar um dado que não seja do tipo String por Socket?

caso exista isso nativamente, o que acontece quando um cliente manda um dado do tipo double e o servidor está preparado para receber um dado do tipo char (por exemplo)?

Na minha classe eu desenvolvi um método que lida com isso sem problemas (o server pode escolher quais dados quer aproveitar e quais quer ignorar). Como o Java lida com isso?

Desculpe se foi meio (:D) chato, mas não sabia que dava para fazer isso sem precisar escrever 200 linhas de código em cliente e servidor de uma forma não padronizada e orientada ao “eu acho”.

vlw, abrass!

Consulte a classe DataOutputStream. E monte um protocolo. Dar uma lida nesse tópico pode te ajudar:
http://www.guj.com.br/posts/list/136538.java#735860