MessageTracker g

hLg̖ڎ

vO~Oł͑ Peer 烁bZ[W܂B ЂƂ‚̃vOőMƎMʁXɍs()ꍇA ǂ炩̏ Thread グčsKv܂B

Oni ł́AȒPɍs߂̃[eBeBNX MessageTracker pӂĂ܂B MessageTracker NX͎MXbhグA bZ[WM邽тɓo^ MessageTracker.Handler ɃR[obNsNXłB

ł EchoClient ǂA ッ看閃s EchoMultiClient ワょうB

import oni.net.*;
import java.io.*;

public class EchoMultiClient {
    
    public static class MessagePrinter implements MessageTracker.Handler {
        public void handleMessage(LaneData message) {
            try {
                System.out.println(new StringLaneData(message).toString());
            } catch (IOException ex) {
            }
        }
    }
    
    public static void main(String[] args) throws NetException, IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        LaneAddress address = new LaneAddress("localhost:16534", "echo");
        Peer peer = new Peer(PeerType.SEND_RECEIVE);
        peer.open(address);
        
        MessageTracker tracker = new MessageTracker(peer, new MessagePrinter());
        tracker.start();
        
        try {
            for (String input = reader.readLine(); input != null; input = reader.readLine()) {
                LaneData sendMessage = new StringLaneData(input);
                peer.send(sendMessage);
            }
        } finally {
            tracker.stop();
            peer.close();
        }
    }
}

ワナ称違い MessagePrinter NXニで フクX MessageTracker.Handler ト bZ[W薰ッ拶Pノ標oヘに表髀フで

    public static class MessagePrinter implements MessageTracker.Handler {
        public void handleMessage(LaneData message) {
            try {
                System.out.println(new StringLaneData(message).toString());
            } catch (IOException ex) {
            }
        }
    }

: MessageTracker.Handler フ全\bhヘ独郵bhフ焦呼び出ワ フめ、フソbhAAWT Swing GUIR|[lg \bhトび出鼾は、 java.awt.EventQueue#invokeLater ネどHpネてはま

Peer signOn ノ、MessageTracker Astart\bhナ起驍アニで、 bZ[W薰ッ手がJnワ

        MessageTracker tracker = new MessageTracker(peer, new MessagePrinter());
        tracker.start();

I MessageTracker stop \bhĂԂƂ t߂邱Ƃo܂B

            tracker.stop();

RunMulticaster ցA EchoMultiClient sĐڑA܂Ă݂܂傤B ܂A EchoMultiClient ッ舎市Aェ行トるこニNFトみまょうB


Copyright © 2001-2002 CyberStep, Inc. All Rights Reserved.

Oni \tgEFA