Changing to network
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
package control;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.DatagramPacket;
|
||||
import java.net.DatagramSocket;
|
||||
import java.net.InetAddress;
|
||||
import java.net.SocketException;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import control.button.ButtonHandler;
|
||||
import control.joystick.JoystickHandler;
|
||||
|
||||
public class NetworkHandler implements Runnable{
|
||||
|
||||
DatagramSocket udp;
|
||||
|
||||
String host;
|
||||
int port;
|
||||
|
||||
boolean running;
|
||||
Thread t;
|
||||
|
||||
byte[] send;
|
||||
byte[] receive;
|
||||
|
||||
ButtonHandler bth;
|
||||
JoystickHandler jth;
|
||||
|
||||
public NetworkHandler(String host, int port, ButtonHandler bth, JoystickHandler jth)
|
||||
{
|
||||
this.host = host;
|
||||
this.port = port;
|
||||
|
||||
this.bth = bth;
|
||||
this.jth = jth;
|
||||
|
||||
udp = null;
|
||||
|
||||
send = new byte[1024];
|
||||
receive = new byte[1024];
|
||||
|
||||
try {
|
||||
udp = new DatagramSocket();
|
||||
udp.connect(InetAddress.getByName(host), port);
|
||||
} catch (SocketException | UnknownHostException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
running = true;
|
||||
t = new Thread(this);
|
||||
t.start();
|
||||
}
|
||||
|
||||
public void setLed(int led, int r, int g , int b)
|
||||
{
|
||||
String cmd = "1|" + led + "|" + r + "|" + g + "|" + b + "\n";
|
||||
send(cmd);
|
||||
}
|
||||
|
||||
public void show(){
|
||||
String cmd = "0\n";
|
||||
send(cmd);
|
||||
}
|
||||
|
||||
private void send(String str)
|
||||
{
|
||||
send = str.getBytes();
|
||||
try {
|
||||
udp.send(new DatagramPacket(send, send.length));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void close()
|
||||
{
|
||||
running = false;
|
||||
udp.disconnect();
|
||||
udp.close();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
while(running)
|
||||
{
|
||||
DatagramPacket pckg = new DatagramPacket(receive, receive.length);
|
||||
try {
|
||||
udp.receive(pckg);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
String str = new String(pckg.getData());
|
||||
System.out.println(str);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user