| 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);
}
}
}