Fixed stopping and improved test server
This commit is contained in:
@@ -156,6 +156,7 @@ public class Fdaq {
|
||||
} catch (IOException e) {
|
||||
// Ignore because not relevant at this stage
|
||||
}
|
||||
running = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -39,25 +39,31 @@ public class FdaqServer {
|
||||
public void startKillSocket(int port) {
|
||||
try {
|
||||
ServerSocket serverSocket = new ServerSocket(port);
|
||||
Socket socket = serverSocket.accept();
|
||||
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
|
||||
DataInputStream in = new DataInputStream(socket.getInputStream());
|
||||
|
||||
byte[] requestBuffer = new byte[1 * 4]; // 2 times integers
|
||||
ByteBuffer bytebuffer = ByteBuffer.wrap(requestBuffer);
|
||||
bytebuffer.order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
in.read(requestBuffer);
|
||||
|
||||
bytebuffer.getInt();
|
||||
|
||||
logger.info("Terminate sender");
|
||||
stop=true;
|
||||
|
||||
out.close();
|
||||
in.close();
|
||||
socket.close();
|
||||
try{
|
||||
while(true){
|
||||
Socket socket = serverSocket.accept();
|
||||
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
|
||||
DataInputStream in = new DataInputStream(socket.getInputStream());
|
||||
|
||||
byte[] requestBuffer = new byte[1 * 4]; // 2 times integers
|
||||
ByteBuffer bytebuffer = ByteBuffer.wrap(requestBuffer);
|
||||
bytebuffer.order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
in.read(requestBuffer);
|
||||
|
||||
bytebuffer.getInt();
|
||||
|
||||
logger.info("Terminate sender");
|
||||
stop=true;
|
||||
|
||||
out.close();
|
||||
in.close();
|
||||
socket.close();
|
||||
}
|
||||
}
|
||||
finally{
|
||||
serverSocket.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
@@ -67,53 +73,61 @@ public class FdaqServer {
|
||||
stop = false;
|
||||
try {
|
||||
ServerSocket serverSocket = new ServerSocket(port);
|
||||
Socket socket = serverSocket.accept();
|
||||
|
||||
logger.info("Start sending ...");
|
||||
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
|
||||
DataInputStream in = new DataInputStream(socket.getInputStream());
|
||||
|
||||
byte[] requestBuffer = new byte[2 * 4]; // 2 times integers
|
||||
ByteBuffer bytebuffer = ByteBuffer.wrap(requestBuffer);
|
||||
bytebuffer.order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
in.read(requestBuffer);
|
||||
|
||||
bytebuffer.getInt(); // This will always be 26
|
||||
int nMessages = bytebuffer.getInt(); // Contains number of images to
|
||||
// receive
|
||||
|
||||
// System.out.println("Messages to send: "+nMessages);
|
||||
|
||||
for (int t = 0; t < nMessages; t++) {
|
||||
|
||||
if(stop){ // Terminate loop if kill socket got a request
|
||||
break;
|
||||
}
|
||||
// System.out.println(t+" "+0+" "+0+" "+ (-t));
|
||||
|
||||
byte[] dataBuffer = new byte[4 * 4]; // 4 times Integers
|
||||
ByteBuffer buffer = ByteBuffer.wrap(dataBuffer); // 4 times
|
||||
// Integers
|
||||
buffer.order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
buffer.putInt(t);
|
||||
buffer.putInt(0);
|
||||
buffer.putInt(0);
|
||||
buffer.putInt(-t);
|
||||
|
||||
out.write(dataBuffer);
|
||||
out.flush();
|
||||
|
||||
if(t>1028){ // The first 1028 images are skipped anyways
|
||||
Thread.sleep(10);
|
||||
try{
|
||||
while(true){
|
||||
stop = false;
|
||||
|
||||
Socket socket = serverSocket.accept();
|
||||
|
||||
logger.info("Start sending ...");
|
||||
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
|
||||
DataInputStream in = new DataInputStream(socket.getInputStream());
|
||||
|
||||
byte[] requestBuffer = new byte[2 * 4]; // 2 times integers
|
||||
ByteBuffer bytebuffer = ByteBuffer.wrap(requestBuffer);
|
||||
bytebuffer.order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
in.read(requestBuffer);
|
||||
|
||||
bytebuffer.getInt(); // This will always be 26
|
||||
int nMessages = bytebuffer.getInt(); // Contains number of images to
|
||||
// receive
|
||||
|
||||
// System.out.println("Messages to send: "+nMessages);
|
||||
|
||||
for (int t = 0; t < nMessages; t++) {
|
||||
|
||||
if(stop){ // Terminate loop if kill socket got a request
|
||||
break;
|
||||
}
|
||||
// System.out.println(t+" "+0+" "+0+" "+ (-t));
|
||||
|
||||
byte[] dataBuffer = new byte[4 * 4]; // 4 times Integers
|
||||
ByteBuffer buffer = ByteBuffer.wrap(dataBuffer); // 4 times
|
||||
// Integers
|
||||
buffer.order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
buffer.putInt(t);
|
||||
buffer.putInt(0);
|
||||
buffer.putInt(0);
|
||||
buffer.putInt(-t);
|
||||
|
||||
out.write(dataBuffer);
|
||||
out.flush();
|
||||
|
||||
if(t>1028){ // The first 1028 images are skipped anyways
|
||||
Thread.sleep(10);
|
||||
}
|
||||
}
|
||||
|
||||
out.close();
|
||||
in.close();
|
||||
socket.close();
|
||||
}
|
||||
}
|
||||
|
||||
out.close();
|
||||
in.close();
|
||||
socket.close();
|
||||
serverSocket.close();
|
||||
finally{
|
||||
serverSocket.close();
|
||||
}
|
||||
} catch (IOException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user