-
Notifications
You must be signed in to change notification settings - Fork 1
/
Servidor
79 lines (58 loc) · 1.42 KB
/
Servidor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import java.io.*;
import java.net.*;
public class Servidor implements Runnable {
private ServerSocket ss;
private Socket s; //para abrir una conexion con el cliente
private ObjectOutputStream oos; //se usa para enviar objetos
private ObjectInputStream ois;//se usa para recibir
private MainWindow mw;
public Servidor(MainWindow mw) {
this.mw=mw;
}
public void run() {
try {
ss = new ServerSocket(9998);
s =ss.accept();//hasta que el cliente no se conecte el programa queda tilado en esta linea
oos= new ObjectOutputStream(s.getOutputStream());
ois = new ObjectInputStream(s.getInputStream());
mw.getAreaChat().append("Conexion Exitosa");
this.readLine();
//System.out.println("Conexion exitosa");
} catch (Exception ex) {
this.closeServer();
ex.printStackTrace();
}
}
public void writeLine(String linea) {
try {
oos.writeObject(linea);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void readLine() {
try {
while(true) {
Object aux = ois.readObject();
if(aux != null && aux instanceof String) {
mw.getAreaChat().append("\nEl cliente dice: "+(String) aux);
}
Thread.sleep(15);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void closeServer() {
try {
oos.close();
ois.close();
s.close();
ss.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}