Name | Modified | Size | Downloads / Week |
---|---|---|---|
Examples | 2014-07-11 | ||
NetworkService1.0.0.3 | 2014-07-06 | ||
NS | 2010-02-23 | ||
readme.txt | 2011-12-25 | 4.2 kB | |
NetworkService1.0.0.2.zip | 2011-12-17 | 414.1 kB | |
NetworkService1.0.0.1_2.zip | 2010-11-26 | 233.2 kB | |
NetworkService1.0.0.1_1.rar | 2010-03-08 | 232.4 kB | |
NetworkService1.0.0.1.rar | 2010-02-24 | 233.5 kB | |
Totals: 8 Items | 1.1 MB | 0 |
public class BasicExampleHowToUseNetworkService { public static void main(String[] args) throws Exception { //create a new instance of NetworkService NetworkService ns = new NetworkService(new ClientInterfaceImpl()); //register a ClientStateChangeListener to recieve notifications //about group members state. ns.addClientStateChangeListener(new ClientStateChangeListenerImpl()); //start the service. ns.startService(false); Random gen = new Random(); Thread.sleep(gen.nextInt(1000)); //send a message to all group members. //(in this example we are using the default multicast group address) //create your serializable message MyTextMessage msg = new MyTextMessage("hello all!"); ClientID group = ns.getPublicClientID(); //wrap it in a Message Object Message publicMessage = new Message(null, msg, group); //for verson older than (1.0.0.0.2) use ns.broadcast("hello all!"); ns.sendMessage(publicMessage); //send a message to one of the group members. ClientID agroupmember = ns.getClientsTable().values().iterator().next(); msg = new MyTextMessage("hello!"); Message privateMessage = new Message(null, msg, agroupmember); //for verson older than (1.0.0.0.2) use ns.sendMessage("hello!",agroupmember); ns.sendMessage(privateMessage); Thread.sleep(gen.nextInt(1000)); msg = new MyTextMessage("bye all!"); publicMessage = new Message(null,msg, group); ns.sendMessage(publicMessage); //stop the service ns.stopService(); } static class ClientInterfaceImpl implements ClientInterface { public ClientInterfaceImpl() { } public void publicMessageReceived(String msg, ClientID from) { //deprecated } public void privateMessageReceived(String msg, ClientID from) { //deprecated } public void clientConnected(SocketStreamRW connection) { //accept TCP connection here. //See: NetworkService.connect(ClientID); } public void publicMessageReceived(Message msg) { String from = msg.getClientID().name(); System.out.println(from + "says:"); MyTextMessage theMsg = (MyTextMessage) msg.getContent(); theMsg.print(); } public void privateMessageReceived(Message msg) { String from = msg.getClientID().name(); System.out.println(from + "says:"); MyTextMessage theMsg = (MyTextMessage) msg.getContent(); theMsg.print(); } public void errMessage(String error, String from) { //used for debugging } public void infMessage(String info, String from) { //used for debugging } } private static class ClientStateChangeListenerImpl implements ClientStateChangeListener { public ClientStateChangeListenerImpl() { } public void clientStateChanged(ClientStateChangeEvent evt) { String name = evt.getClient().name(); String host = evt.getClient().hostName(); int state = evt.getNewState(); String s; switch (state) { case ClientStateChangeEvent.ON: s = "on"; break; case ClientStateChangeEvent.OFF: s = "off"; break; default: s = "unknown"; } System.out.println(name + " on " + host + " is " + s); } } private static class MyTextMessage implements Serializable { private String msg; public MyTextMessage(String msg) { this.msg = msg; } public void print() { System.out.println(msg); } } }