Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    33

    inviare messaggio unicast

    ciao!
    devo sviluppare un programma per scuola che "simula" un p2p.
    ho piu nodi (processi) i quali mandano messaggi sul loro stato (in multicast) a tutti. Quando un nodo (A) riceve un messaggio da un altro(B), A deve rispondere a B in Unicast: A possiede l'indirizzo e la porta da utilizzare.

    Sarò un pochino tardo (e poco afferrato in Java) ma non so come fare...qcuno ha un idea?

    Marco

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    33
    per esempio, in multicast ho fatto così:
    ================================================== ===========InizioMulticast

    MulticastSocket multicastSocket = new MulticastSocket(multicastPort);
    multicastSocket.joinGroup(multicastGroup);
    ByteArrayOutputStream bostream = new ByteArrayOutputStream();
    ObjectOutputStream dostream = new ObjectOutputStream(bostream);
    dostream.writeObject(message);
    dostream.close();
    bostream.close();

    byte[] bMessage = bostream.toByteArray();

    DatagramPacket messagePacket = new DatagramPacket(bMessage, Message.length, multicastGroup, multicastPort);

    multicastSocket.send(messagePacket);
    multicastSocket.close();

    ================================================== ==========FINEMulticast

    E ora per rispondere devo usare unicast... ma non so in che modo (possiedo l'indirizzo e la porta del destinatario...)
    nessuna idea?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    33
    Ho fatto così....

    ================================================== =============unicast??
    DatagramSocket dsocket = new DatagramSocket();

    ByteArrayOutputStream bostream = new ByteArrayOutputStream();
    ObjectOutputStream dostream = new ObjectOutputStream(bostream);
    dostream.writeObject(message);
    dostream.close();
    bostream.close();

    byte[] bMessage = bostream.toByteArray();

    DatagramPacket messagePacket = new DatagramPacket(bMessage, bMessage.length, recipientAddress, recipientPort);
    dsocket.connect(recipientAddress,recipientPort);

    dsocket.send(messagePacket);
    dsocket.close();
    ================================================== =============unicast??


    Può funzionare?!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.