class
TCPServer
implements
Runnable {
private
InputStream input =
null
;
private
OutputStream output =
null
;
private
Socket socket =
null
;
public
void
run() {
Log.d(TAG,
"TCPServer - run() ================ 끝"
);
is_alive =
true
;
try
{
serverSocket =
new
ServerSocket(SERVERPORT);
System.out.print(
"Conneting.."
);
while
(!isStop) {
socket = serverSocket.accept();
addPCLinkStatus(socket.getInetAddress().getHostAddress()
+
" "
+ getString(R.string.connected));
int
input_read =
0
;
input =
new
DataInputStream(socket.getInputStream());
output =
new
DataOutputStream(socket.getOutputStream());
while
(input_read > -
1
) {
byte
[] buffer =
new
byte
[
1024
];
input_read = input.read(buffer);
System.out.print(input_read);
String tempbuffer =
new
String(buffer);
tempbuffer = tempbuffer.trim();
Log.d(TAG, tempbuffer);
SystemClock.sleep(
100
);
String sendMsg = ParsingCommand(tempbuffer);
System.out.print(sendMsg);
Log.d(TAG,
"Send: "
+ sendMsg);
output.write(sendMsg.getBytes());
output.flush();
System.out.print(
"Socket Write"
);
if
(isStop)
break
;
}
}
addPCLinkStatus(socket.getInetAddress().getHostAddress() +
" "
+ getString(R.string.disconnected));
closeSocket();
}
catch
(Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
finally
{
closeSocket();
if
(serverSocket !=
null
) {
try
{
serverSocket.close();
}
catch
(IOException e) {
e.printStackTrace();
}
serverSocket =
null
;
}
}
addPCLinkStatus(
"PC Link End"
);
is_alive =
false
;
Log.d(TAG,
"TCPServer - run() ================ 끝"
);
}
private
void
closeSocket() {
Log.d(TAG,
"closeSocket()"
);
try
{
if
(input !=
null
) {
input.close();
input =
null
;
}
if
(output !=
null
) {
output.close();
output =
null
;
}
if
(socket !=
null
) {
socket.close();
socket =
null
;
}
}
catch
(Exception e) {
Log.d(TAG,
"closeSocket() error:"
+ e.getMessage());
e.printStackTrace();
}
}
}
}