Ongebruikte dingen verwijderd, wat dingetjes netter gemaakt en sturn van feedback vannuit networkdevice toegevoegd.
This commit is contained in:
@@ -26,8 +26,6 @@ package org.wiigee.device;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
import javax.bluetooth.L2CAPConnection;
|
|
||||||
import javax.microedition.io.Connector;
|
|
||||||
import org.wiigee.event.*;
|
import org.wiigee.event.*;
|
||||||
import org.wiigee.filter.Filter;
|
import org.wiigee.filter.Filter;
|
||||||
import org.wiigee.util.Log;
|
import org.wiigee.util.Log;
|
||||||
|
|||||||
@@ -25,9 +25,7 @@ package org.wiigee.device;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.EventObject;
|
import java.util.EventObject;
|
||||||
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
import javax.bluetooth.L2CAPConnection;
|
|
||||||
|
|
||||||
import org.wiigee.util.Log;
|
import org.wiigee.util.Log;
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.io.Serializable;
|
|||||||
import pm.event.EventListener;
|
import pm.event.EventListener;
|
||||||
import pm.value.Target;
|
import pm.value.Target;
|
||||||
|
|
||||||
public class Event implements Serializable {
|
public class Event {
|
||||||
protected static final long serialVersionUID = 1L;
|
protected static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
protected Target target;
|
protected Target target;
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
package pm.device.network;
|
package pm.device.network;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.ServerSocket;
|
import java.net.ServerSocket;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
import pm.Device;
|
import pm.Device;
|
||||||
import pm.Event;
|
import pm.Event;
|
||||||
import pm.Worker;
|
import pm.Worker;
|
||||||
|
import pm.event.Feedback;
|
||||||
import pm.exception.device.DeviceInitialiseException;
|
import pm.exception.device.DeviceInitialiseException;
|
||||||
import pm.value.Action;
|
import pm.value.Action;
|
||||||
|
|
||||||
@@ -47,8 +46,14 @@ public class NetworkDevice extends Device {
|
|||||||
server.stop();
|
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 {
|
protected class Server extends Worker {
|
||||||
@@ -79,12 +84,12 @@ public class NetworkDevice extends Device {
|
|||||||
protected class Client extends Worker {
|
protected class Client extends Worker {
|
||||||
protected Socket socket;
|
protected Socket socket;
|
||||||
protected ObjectInputStream objectInputStream;
|
protected ObjectInputStream objectInputStream;
|
||||||
protected OutputStream outputStream;
|
protected ObjectOutputStream objectOutputStream;
|
||||||
|
|
||||||
public Client(Socket socket) throws IOException {
|
public Client(Socket socket) throws IOException {
|
||||||
this.socket = socket;
|
this.socket = socket;
|
||||||
objectInputStream = new ObjectInputStream(socket.getInputStream());
|
objectInputStream = new ObjectInputStream(socket.getInputStream());
|
||||||
//outputStream = socket.getOutputStream();
|
objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
|
||||||
clientList.add(this);
|
clientList.add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,9 +118,13 @@ public class NetworkDevice extends Device {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void send(Object object) throws IOException {
|
||||||
|
objectOutputStream.writeObject(object);
|
||||||
|
}
|
||||||
|
|
||||||
public void disconnect() throws IOException {
|
public void disconnect() throws IOException {
|
||||||
objectInputStream.close();
|
objectInputStream.close();
|
||||||
outputStream.close();
|
objectOutputStream.close();
|
||||||
socket.close();
|
socket.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user