TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Chata Em Java

Pesquisas Acadêmicas: Chata Em Java. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  12/11/2014  •  3.477 Palavras (14 Páginas)  •  255 Visualizações

Página 1 de 14

1. package chat;

2.

3. import java.io.BufferedReader;

4. import java.io.IOException;

5. import java.io.InputStreamReader;

6. import java.io.PrintStream;

7. import java.net.ServerSocket;

8. import java.net.Socket;

9. import java.util.ArrayList;

10. import java.util.Enumeration;

11. import java.util.List;

12. import java.util.Vector;

13.

14. public class ServidorSocket extends Thread {

15.

16. // Parte que controla as conexões por meio de threads.

17. private static Vector CLIENTES;

18.

19. // socket deste cliente

20. private Socket conexao;

21.

22. // nome deste cliente

23. private String nomeCliente;

24. // lista que armazena nome de CLIENTES

25. private static List LISTA_DE_NOMES = new ArrayList();

26.

27. // construtor que recebe o socket deste cliente

28. public ServidorSocket(Socket socket) {

29. this.conexao = socket;

30. }

31.

32. // testa se nomes são iguais, se for retorna true

33. public boolean armazena(String newName) {

34.

35. // System.out.println(LISTA_DE_NOMES);

36. for (int i = 0; i < LISTA_DE_NOMES.size(); i++) {

37. if (LISTA_DE_NOMES.get(i).equals(newName))

38. return true;

39. }

40.

41. // adiciona na lista apenas se não existir

42. LISTA_DE_NOMES.add(newName);

43. return false;

44. }

45.

46. // remove da lista os CLIENTES que já deixaram o chat

47. public void remove(String oldName) {

48. for (int i = 0; i < LISTA_DE_NOMES.size(); i++) {

49. if (LISTA_DE_NOMES.get(i).equals(oldName))

50. LISTA_DE_NOMES.remove(oldName);

51. }

52. }

53.

54. public static void main(String args[]) {

55.

56. // instancia o vetor de CLIENTES conectados

57. CLIENTES = new Vector();

58. try {

59.

60. // cria um socket que fica escutando a porta 5555.

61. ServerSocket server = new ServerSocket(1500);

62. System.out.println("ServidorSocket rodando na porta 5555");

63.

64. // Loop principal.

65. while (true) {

66.

67. // aguarda algum cliente se conectar.

68. // A execução do servidor fica bloqueada na chamada do método

69. // accept da

70. // classe ServerSocket até que algum cliente se conecte ao

71. // servidor.

72. // O próprio método desbloqueia e retorna com um objeto da

73. // classe Socket

74. Socket conexao = server.accept();

75.

76. // cria uma nova thread para tratar essa conexão

77. Thread t = new ServidorSocket(conexao);

78. t.start();

79. // voltando ao loop, esperando mais alguém se conectar.

80. }

81. } catch (IOException e) {

82.

83. // caso ocorra alguma excessão de E/S, mostre qual foi.

84. System.out.println("IOException: " + e);

85. }

86. }

87.

88. // execução da thread

89. public void run() {

90. try {

91.

92. // objetos que permitem controlar fluxo de comunicação que vem do

93. // cliente

94. BufferedReader entrada = new BufferedReader(newInputStreamReader(

...

Baixar como (para membros premium)  txt (10.8 Kb)  
Continuar por mais 13 páginas »
Disponível apenas no TrabalhosGratuitos.com