| |
MessageTracker g |
hLg̖ڎ |
vO~Oł͑
Peer烁bZ[W܂B ЂƂ̃vOőMƎMʁXɍs()ꍇA ǂ炩̏ThreadグčsKv܂BOni ł́AȒPɍs߂̃[eBeBNX
MessageTrackerpӂĂ܂BMessageTrackerNX͎MXbhグA bZ[WM邽тɓo^MessageTracker.HandlerɃR[obNsNXłBł
EchoClientǂA ッ看閃sEchoMultiClientワょうBimport 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(); } } }ワナ称違い
MessagePrinterNXニで フクXMessageTracker.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ネてはま
PeersignOnノ、MessageTrackerAstart\bhナ起驍アニで、 bZ[W薰ッ手がJnワMessageTracker tracker = new MessageTracker(peer, new MessagePrinter()); tracker.start();I
MessageTrackerstop\bhĂԂƂ t߂邱Ƃo܂Btracker.stop();O͂
RunMulticasterցAEchoMultiClientsĐڑA܂Ă݂܂傤B ܂AEchoMultiClientッ舎市Aェ行トるこニNFトみまょうB
|
Copyright © 2001-2002 CyberStep, Inc. All Rights Reserved. |
Oni \tgEFA |