示例#1
0
 private void process(DatagramPacket packet) {
   String string = new String(packet.getData());
   if (raw) System.out.println(string);
   if (string.startsWith("/c/")) {
     // UUID id = UUID.randomUUID();
     int id = UniqueIdentifier.getIdentifier();
     String name = string.split("/c/|/e/")[1];
     System.out.println(name + "(" + id + ") connected!");
     clients.add(new ServerClient(name, packet.getAddress(), packet.getPort(), id));
     String ID = "/c/" + id;
     send(ID, packet.getAddress(), packet.getPort());
   } else if (string.startsWith("/m/")) {
     sendToAll(string);
   } else if (string.startsWith("/d/")) {
     String id = string.split("/d/|/e/")[1];
     disconnect(Integer.parseInt(id), true);
   } else if (string.startsWith("/i/")) {
     clientResponse.add(Integer.parseInt(string.split("/i/|/e/")[1]));
   } else {
     System.out.println(string);
   }
 }
 /**
  * Chooses the delegate for a specific unique identifier.
  *
  * @param uid the unique identifier, not null
  * @return the delegate, not null
  */
 protected T chooseDelegate(final UniqueIdentifier uid) {
   String[] schemeParts = StringUtils.split(uid.getScheme(), "-", 2);
   String schemePrefix = schemeParts[0];
   final T delegate = _schemeToDelegateMap.get(schemePrefix);
   return (delegate != null) ? delegate : _defaultDelegate;
 }
示例#3
0
 public void setUniqueIdentifier(UniqueIdentifier obj) {
   UniqueIdentifier it = getUniqueIdentifier();
   it.value(obj.value());
   components.set(0, it);
 }