/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Applicatif;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.MulticastSocket;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
import javax.swing.JTextArea;
public class ThreadReception implements Runnable{
JTextArea zoneChat;
MulticastSocket socket;
JComboBox Gnumero;
public ThreadReception(JTextArea zoneChat, MulticastSocket socket, JComboBox Gnumero){
this.zoneChat = zoneChat;
this.socket = socket;
this.Gnumero = Gnumero;
}
@Override
public void run() {
while(true){
try {
byte[] buffer = new byte[255];
DatagramPacket packetRecu = new DatagramPacket(buffer, buffer.length);
socket.receive(packetRecu);
zoneChat.append(new String(buffer) + "\n");
traiterNumero(new String(buffer));
} catch (IOException ex) {
Logger.getLogger(ThreadReception.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
private void traiterNumero(String message) {
System.out.println("message: " + message);
String droite = null;
String type = null;
String gauche = null;
String[] split = message.split("Question");
if(split.length > 1){
//Question
//split[1] " id: 57601 : aze "
String[] split2 = split[1].split("id: ");
//split2[1] "53149 : aze "
String[] split3 = split2[1].split(" :");
String code = split3[0];
Gnumero.addItem(code);
System.out.println("Question");
}else{
split = message.split("Reponse");
if(split.length > 1){
//Réponse
//Split[1] " id: 56431 : aze "
String[] split2 = split[1].split("id: ");
String[] split3 = split2[1].split(" :");
String code = split3[0];
for(int i=0; i<Gnumero.getItemCount(); i++){
if(Gnumero.getItemAt(i).toString().equals(code)){
Gnumero.removeItemAt(i);
}
}
System.out.println("Reponse");
}
}
}
}