home *** CD-ROM | disk | FTP | other *** search
Java Source | 1997-02-21 | 1.2 KB | 41 lines |
- // Thread that receives update messages and updates the entities
-
- // Written by Bernie Roehl, December 1996
-
- package multi;
-
- import java.net.*;
- import java.io.*;
-
- class UpdateReceiver extends Thread {
-
- World world;
-
- public UpdateReceiver(World wrld) {
- world = wrld;
- start();
- }
-
- public void run() {
- byte[] buffer = new byte[1024];
- DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
- while (true) {
- try { world.incoming_socket.receive(packet); }
- catch (IOException e) {
- System.out.println("Error while reading update message: " + e);
- return;
- }
- ++world.packets_received; // keep count of total number of packets received
- UpdateMessage message;
- try { message = new UpdateMessage(buffer); }
- catch (IOException e) { continue; } // ignore badly-formed messages
- int entid = message.getEntityId();
- Entity e = world.getEntity(entid);
- if (e == null)
- e = world.addEntity(entid);
- e.update(message);
- }
- }
- }
-
-