Collections.synchronizedMap(clientsMap);
try
{
serverSocket =
new
ServerSocket(
9999
);
new
Thread(
new
Runnable() {
@Override
public
void
run() {
while
(
true
) {
/** XXX 01. 첫번째. 서버가 할일 분담. 계속 접속받는것. */
Log.v(
""
,
"서버 대기중..."
);
try
{
socket = serverSocket.accept();
}
catch
(IOException e) {
e.printStackTrace();
}
Log.v(
""
, socket.getInetAddress() +
"에서 접속했습니다."
);
msg = socket.getInetAddress() +
"에서 접속했습니다.\n"
;
handler.sendEmptyMessage(SERVER_TEXT_UPDATE);
new
Thread(
new
Runnable() {
private
DataInputStream in;
private
DataOutputStream out;
private
String nick;
@Override
public
void
run() {
try
{
out =
new
DataOutputStream(socket.getOutputStream());
in =
new
DataInputStream(socket.getInputStream());
nick = in.readUTF();
addClient(nick, out);
}
catch
(IOException e) {
e.printStackTrace();
}
try
{
while
(in !=
null
) {
msg = in.readUTF();
sendMessage(msg);
handler.sendEmptyMessage(SERVER_TEXT_UPDATE);
}
}
catch
(IOException e) {
removeClient(nick);
}
}
}).start();
}
}
}).start();