Created
August 26, 2014 03:05
-
-
Save jamornsriwasansak/51c87fc4851e28077fa5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.udpfootballer; | |
import java.net.DatagramPacket; | |
import java.net.DatagramSocket; | |
import android.util.Log; | |
public class UDPServer implements Runnable { | |
public int DEFAULT_PORT = 50003; | |
private ReceiverListener listener; | |
private final Thread t; | |
private int port; | |
public UDPServer() { | |
t = new Thread(this); | |
//Create blank receiverListener to prevent null pointer exception | |
listener = new ReceiverListener() { | |
@Override | |
public void onReceive(byte[] a) { | |
//Do nothing | |
} | |
}; | |
port = DEFAULT_PORT; | |
} | |
public UDPServer(int port) { | |
this(); | |
this.port = port; | |
} | |
@Override | |
public void run() { | |
while (true) { | |
Log.d("Comm_Server", "Server Open"); | |
try { | |
DatagramSocket serverSocket = new DatagramSocket(port); | |
serverSocket.setBroadcast(true); | |
while (true) { | |
byte[] receiveData = new byte[4]; | |
DatagramPacket receivePacket = new DatagramPacket(receiveData, | |
receiveData.length); | |
serverSocket.receive(receivePacket); | |
listener.onReceive(receiveData); | |
//InetAddress IPAddress = receivePacket.getAddress(); | |
//int port = receivePacket.getPort(); | |
} | |
} catch (Exception e) { | |
Log.d("Comm_Server", "Exception Happened"); | |
} | |
} | |
} | |
public void setOnReceiveListener(ReceiverListener listener) { | |
this.listener = listener; | |
} | |
public void start() { | |
t.start(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment