Ongebruikte dingen verwijderd, wat dingetjes netter gemaakt en sturn van feedback vannuit networkdevice toegevoegd.

This commit is contained in:
2011-05-09 10:42:30 +00:00
parent 23b54e8403
commit 57d1f2a602
7 changed files with 18 additions and 152 deletions

View File

@@ -26,8 +26,6 @@ package org.wiigee.device;
import java.io.IOException;
import java.util.Random;
import java.util.Vector;
import javax.bluetooth.L2CAPConnection;
import javax.microedition.io.Connector;
import org.wiigee.event.*;
import org.wiigee.filter.Filter;
import org.wiigee.util.Log;

View File

@@ -25,9 +25,7 @@ package org.wiigee.device;
import java.io.IOException;
import java.util.EventObject;
import java.util.Vector;
import javax.bluetooth.L2CAPConnection;
import org.wiigee.util.Log;

View File

@@ -5,7 +5,7 @@ import java.io.Serializable;
import pm.event.EventListener;
import pm.value.Target;
public class Event implements Serializable {
public class Event {
protected static final long serialVersionUID = 1L;
protected Target target;

View File

@@ -1,20 +1,19 @@
package pm.device.network;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Scanner;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import pm.Device;
import pm.Event;
import pm.Worker;
import pm.event.Feedback;
import pm.exception.device.DeviceInitialiseException;
import pm.value.Action;
@@ -47,8 +46,14 @@ public class NetworkDevice extends Device {
server.stop();
}
protected void add(Action action) {
protected void feedback(Feedback feedback) {
for (Client client : clientList) {
try {
client.send(feedback);
} catch (IOException e) {
e.printStackTrace();
}
}
}
protected class Server extends Worker {
@@ -79,12 +84,12 @@ public class NetworkDevice extends Device {
protected class Client extends Worker {
protected Socket socket;
protected ObjectInputStream objectInputStream;
protected OutputStream outputStream;
protected ObjectOutputStream objectOutputStream;
public Client(Socket socket) throws IOException {
this.socket = socket;
objectInputStream = new ObjectInputStream(socket.getInputStream());
//outputStream = socket.getOutputStream();
objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
clientList.add(this);
}
@@ -112,10 +117,14 @@ public class NetworkDevice extends Device {
clientList.remove(this);
}
}
public void send(Object object) throws IOException {
objectOutputStream.writeObject(object);
}
public void disconnect() throws IOException {
objectInputStream.close();
outputStream.close();
objectOutputStream.close();
socket.close();
}
}

View File

@@ -1,71 +0,0 @@
package pm.device.network;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import pm.Device;
import pm.exception.task.action.ActionDeserializeException;
import pm.value.Action;
public class NetworkServer extends Device {
public static final int PORT = 1234;
protected MessageReceiver messageReceiver;
public NetworkServer() {
messageReceiver = new MessageReceiver(PORT);
messageReceiver.start();
System.out.println("NetworkServer started");
}
public void action(Action action) {
this.action(action);
}
protected class MessageReceiver extends Thread {
protected ServerSocket server;
public MessageReceiver(int port) {
try {
server = new ServerSocket(port);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("MessageReceiver started");
}
public void run() {
while (true) {
System.out.println("MessageReceiver is waiting for clients");
try {
Socket socket = server.accept();
final InputStream inputStream = socket.getInputStream();
new Thread() {
public void run() {
Scanner input = new Scanner(inputStream);
while (input.hasNext()) {
String string = input.next().toUpperCase();
if(string != null) {
try {
Action action = Action.deserialise(string);
action(action);
} catch (ActionDeserializeException e) {}
}
try {
Thread.sleep(SLEEP);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
System.out.println("Client connected");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

View File

@@ -1,27 +0,0 @@
package pm.device.text.lan;
import java.io.IOException;
import java.net.ServerSocket;
import pm.Device;
import pm.exception.device.DeviceInitialiseException;
public class LanTextDevice extends Device {
static final int PORT = 1234;
protected ServerSocket server;
protected SocketListener socketListener;
public void initialise() throws DeviceInitialiseException {
try {
server = new ServerSocket(PORT);
socketListener = new SocketListener(server);
socketListener.start();
} catch (IOException e) {
throw new DeviceInitialiseException();
}
}
public void exit() {
socketListener.stop();
}
}

View File

@@ -1,41 +0,0 @@
package pm.device.text.lan;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import pm.Worker;
import pm.device.text.TextDevice;
public class SocketListener extends Worker {
protected ServerSocket server;
protected ArrayList<TextDevice.InputListener> inputListenerList;
public SocketListener(ServerSocket server) {
this.server = server;
inputListenerList = new ArrayList<TextDevice.InputListener>();
}
public void run() {
while (run) {
try {
Socket socket = server.accept();
InputStream inputStream = socket.getInputStream();
TextDevice.InputListener inputListener = new TextDevice().new InputListener(inputStream);
inputListenerList.add(inputListener);
inputListener.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void stop() {
run = false;
for (TextDevice.InputListener inputListener : inputListenerList) {
inputListener.stop();
}
}
}