/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.client.voicechat; import com.client.gui.ClientMain; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Administrator */ public class ListenForVoiceChat implements Runnable { ServerSocket myService = null; private ClientMain clientMain = null; private VoiceSender voiceSender = null; public ListenForVoiceChat(ClientMain clientMain) { this.clientMain = clientMain; } public void run() { try { myService = new ServerSocket(50000); while (true) { listenForNewVoiceChat(); } } catch (IOException ex) { Logger.getLogger(ListenForVoiceChat.class.getName()).log(Level.SEVERE, null, ex); } } private void listenForNewVoiceChat() { try { Socket clientSocket = myService.accept(); clientMain.chatWithServerJFrame.startChat(); voiceSender = new VoiceSender(clientSocket, this); new Thread(voiceSender).start(); } catch (IOException ex) { Logger.getLogger(ListenForVoiceChat.class.getName()).log(Level.SEVERE, null, ex); } } void closeChat() { clientMain.chatWithServerJFrame.stopTalk(); voiceSender = null; } public void stopTalk() { if (voiceSender != null) { VoiceSender.stopCapture = true; } } }