
android socket收不到数据
publicclassClientThreadimplementsRunnable{privateSockets;//定义向UI线程发送消息的Handler对象。priv...
public class ClientThread implements Runnable {
private Socket s;
// 定义向UI线程发送消息的Handler对象。
private Handler handler;
// 定义接收UI线程的消息的Handler对象.
public Handler revHandler;
// 该线程所处理的Socket所对用的流对象
BufferedReader br;
OutputStream os;
public ClientThread(Handler handler) {
super();
this.handler = handler;
}
@Override
public void run() {
try {
s = new Socket("192.168.2.4", 8888);
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
os = s.getOutputStream();
// 启动一条子线程
new Thread() {
public void run() {
String content = null;
// 不断读取Socket输入流中的内容
try {
while ((content = br.readLine()) != null) {
// 每当读到来自服务器的数据之后,发送消息通知程序界面显示该数据
Message msg = new Message();
msg.what = 0x123;
msg.obj = content;
handler.sendMessage(msg);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
} 展开
private Socket s;
// 定义向UI线程发送消息的Handler对象。
private Handler handler;
// 定义接收UI线程的消息的Handler对象.
public Handler revHandler;
// 该线程所处理的Socket所对用的流对象
BufferedReader br;
OutputStream os;
public ClientThread(Handler handler) {
super();
this.handler = handler;
}
@Override
public void run() {
try {
s = new Socket("192.168.2.4", 8888);
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
os = s.getOutputStream();
// 启动一条子线程
new Thread() {
public void run() {
String content = null;
// 不断读取Socket输入流中的内容
try {
while ((content = br.readLine()) != null) {
// 每当读到来自服务器的数据之后,发送消息通知程序界面显示该数据
Message msg = new Message();
msg.what = 0x123;
msg.obj = content;
handler.sendMessage(msg);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
} 展开
2个回答
展开全部
如果你可以确定你的功能模块正确的话,那么接收不到数据就是你没有在“AndroidManifest.xml”文件中增加网络权限!
追问
问下还要加什么权限
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询