54 lines
1.2 KiB
Text
54 lines
1.2 KiB
Text
import java.io.IOException;
|
|
import java.net.DatagramPacket;
|
|
import java.net.DatagramSocket;
|
|
import java.net.InetAddress;
|
|
|
|
public class UserListeningThread extends Thread{
|
|
|
|
private User myUser;
|
|
|
|
public UserListeningThread(String s,User user) {
|
|
super(s);
|
|
this.myUser = user;
|
|
}
|
|
|
|
public void run(){
|
|
DatagramSocket dgramSocket= null;
|
|
try {
|
|
dgramSocket= new DatagramSocket(this.myUser.getNport(),this.myUser.getAddIP());
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
|
|
while(!this.myUser.haveToStopThread) {
|
|
|
|
|
|
byte[] buffer = new byte[256];
|
|
DatagramPacket inPacket= new DatagramPacket(buffer, buffer.length);
|
|
try {
|
|
dgramSocket.receive(inPacket);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
buffer = inPacket.getData();
|
|
InetAddress itsIP=inPacket.getAddress();
|
|
int itsPort=inPacket.getPort();
|
|
|
|
String toSend = myUser.getAddIP().toString()+":"+myUser.getNport()+":"+myUser.getPseudo();
|
|
DatagramPacket outPacket= new DatagramPacket(toSend.getBytes(), toSend.length(),itsIP, 12229);
|
|
|
|
try {
|
|
dgramSocket.send(outPacket);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
}
|
|
dgramSocket.close();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|