Enviar Object por DatagramPacket

4 respostas
L

Tem como??

to tentando enviar, mas naum to conseguindo tranformar um Object em bytes… ou transforma-lo em otra coisa e pegar os bytes… sei la

Não tava querendo usar input/outputStream… to aki querendo saber se tem algum outro jeito…

desde ja… vlw :smiley:

4 Respostas

T

Não aconselharia porque um DatagramPacket tem um tamanho máximo (que depende de um monte de coisas: sistema operacional, implementação do protocolo UDP/IP, roteamento dos pacotes etc.) e pode ser que seu Object exceda esse temanho.

O grande problema é que se o DatagramPacket exceder o tal tamanho máximo, você simplesmente não fica sabendo - só o receptor é que vai ver que o pacote chegou com menos bytes que o pacote original (argh).

De qualquer jeito, para converter um Object para um array de bytes, você precisa criar um java.io.ByteArrayOutputStream e encapsular um java.io.ObjectOutputStream, e chamar o método writeObject; para fazer a conversão inversa, ObjectInputStream, readObject, e ByteArrayInputStream.

L

AHH… vlw kra… !

naum sabia desse limite que o DatagramPacket tem… o uso dele pra arquivo ja ta descartado, mas to kerendo passa um objeto (tipo de dado),

To insistindo nisso ja que eu to tendo que usar multicast e acho q DatagramPacket e talvez DatagramSocket são as unicas formas de comunicação de um MulticastSocket. Se tiver outro jeito… me falem plz… xD

pelo que eu entendi desse link q vc passo… é bem relacionado a sua conexão, o DatagramPacket não é quebrado em partes, é sempre passado por inteiro, assim se sua conex num manda tudo de uma vez, o resto é perdido… e azar do cara q receber…

vlw dnovo!

T

Se você vai usar Multicast, provavelmente é em uma rede local; nesse tipo de ambiente, o MTU é por volta de 1K a 1,5K.

Nesse caso, você até pode fazer do jeito que você quer, se o objeto for suficientemente pequeno (menor que 1KB).

L

OPa… vlw!

1.5K eh bem poko… mas vo tenta… acho q da… xD

vlw pelas ajudas… pra sorte naum tenho mais duvidas por agora… kkk
qdo aparecer outra eu grito… flw

Criado 20 de junho de 2007
Ultima resposta 21 de jun. de 2007
Respostas 4
Participantes 2