package
com.example.testclient;
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.io.OutputStream;
import
java.net.InetSocketAddress;
import
java.net.Socket;
import
java.net.SocketTimeoutException;
import
android.os.Handler;
import
android.os.Looper;
import
android.os.Message;
import
android.util.Log;
public
class
ClientThread
implements
Runnable {
private
Socket s;
Handler handler;
Handler revHandler;
BufferedReader br =
null
;
OutputStream os =
null
;
public
ClientThread(Handler handler) {
this
.handler = handler;
}
@Override
public
void
run() {
s =
new
Socket();
Log.d(
"111111111111"
,
"@@@@@@@@@@@@@@@@@@@@"
);
try
{
Log.d(
"111111111111"
,
"$$"
);
br =
new
BufferedReader(
new
InputStreamReader(s.getInputStream()));
os = s.getOutputStream();
new
Thread() {
@Override
public
void
run() {
String content =
null
;
try
{
while
((content = br.readLine()) !=
null
) {
Message msg =
new
Message();
msg.what =
0x123
;
msg.obj = content;
handler.sendMessage(msg);
Log.d(
"111111111111"
, content);
}
}
catch
(IOException io) {
io.printStackTrace();
}
}
}.start();
Looper.prepare();
revHandler =
new
Handler() {
@Override
public
void
handleMessage(Message msg) {
if
(msg.what ==
0x345
) {
try
{
os.write((
"Client"
+ msg.obj.toString() +
"\r\n"
)
.getBytes(
"utf-8"
));
}
catch
(Exception e) {
e.printStackTrace();
}
}
}
};
Looper.loop();
}
catch
(SocketTimeoutException e) {
Message msg =
new
Message();
msg.what =
0x123
;
msg.obj =
"网络连接超时!"
;
handler.sendMessage(msg);
}
catch
(IOException e) {
e.printStackTrace();
}
}
}