All pastes #261279 Raw Edit

Mine

public java v1 · immutable
#261279 ·published 2006-11-29 02:06 UTC
rendered paste body
import java.net.*;import java.util.*;import java.io.*;//import class.*;//import myMulticastSocket;public class VChatClient implements ChatProcessor {//	para termos informacao sobre multicastGroup e porta, a usar nas funcoes em baixo:	ConfigInfo userInfo;	myMulticastSocket ms;	public static void main( String[] args) {		new VChatClient().doit();			}	protected ChatUIImpl chatui;		VChatClient() {		init();	}		protected void init() {		chatui = new ChatUIImpl( this);			}		protected void doit() {			// IMPORTANTE: informacao deve ser actualizada para evitar conflitos		//ConfigInfo userInfo;		try {			userInfo = new ConfigInfo( "", InetAddress.getByName("225.10.23.45"), 8000);			boolean loginOk = chatui.getConfig( userInfo, true);			System.out.println( "login: " + loginOk);		} catch( UnknownHostException e) {			e.printStackTrace();		}				chatui.startClient();	}		//=========================================================================	// FUNCOES CHAMADAS PELO INTERFACE	//=========================================================================		/**	 * Invocado pela interface para indicar desejo do utilizador de entrar numa sala de chat.	 * Como resultado, deve ser devolvido false se nao e possivel entrar na sala de chat	 * ou true caso seja possivel - neste caso, o interface apresentara a janela do chat	 * (e tornara invisivel a janela com a lista de salas) 	 */	public boolean enterChatRoom( String ircname) {		// TODO Completar codigo		//temos que fazer o nosso J		return true;	}	/**	 * Invocado pela interface para obter a lista de salas de chat. 	 */	public List<String> getChatNames() {		List<String> list = new ArrayList<String>();		// TODO Completar codigo		//fazemos o nosso L		System.out.println( "Obter lista de nomes");		try{		 	ms = new myMulticastSocket(userInfo.getPort());		 	ms.joinGroup(userInfo.getAddress());		 	myDatagamSocket receiveSocket = new myDatagramSocket();		 	//tenho que descobrir como 		 	int port = receiveSocket.getLocalPort();		 	myDatagramPacket p = new myDatagramPacket(("L "+port).getBytes());		 	ms.send(p);		 			 	List<String> rooms;		 			 	receiveSocket.setSoTimeout(2000);		 	myDatagramPacket answer = new myDatagramPacket(new byte[65336], 655336);		 	String tmp;		 	try{		 		while(true){		 			receiveSocket.receive(answer);		 			tmp = new String(answer.getData(),0, answer.getData().getLength());		 			rooms.add(tmp);		 			receiveSocket.setSoTimeout(2000);		 		}			 	}catch (SocketTimeoutException x){}			} catch(Exception e){};		return list;	}	//	public void setChatNames(List<String> rooms){//			setChatNames(getChatNames());//			return;//	}		/**	 * Invocado pela interface para indicar que o utilizador pretende sair da sala de chat	 * Como resultado, o interface apresentara a janela com a lista das salas.	 */	public void leaveChatRoom( String ircname) {		// TODO Completar codigo		//fazemos o leave	}	/**	 * Invocado pela interface para iniciar a transferência do ficheiro filename para o 	 * utilizador username	 */	public void sendFile( String ircname, String username, String filename) {		// TODO Completar codigo			}	/**	 * Invocado pela interface quando o utilizador pretende enviar mensagem	 */	public void sendMessage( String ircname, String msg) {		// TODO Completar codigo	}			}