socket= serverSocket.accept();一直停住,debug显示为null

guoguo2234 2019-05-15 11:42:45
public AcceptThread() {
try {
// 通过UUID监听请求,然后获取到对应的服务端接口
serverSocket = mBluetoothAdapter
.listenUsingRfcommWithServiceRecord(NAME, MY_UUID);
} catch (Exception e) {
e.printStackTrace();
re_ms.setText("失败");
}
//socket.connect();
}
public void run() {
try {
//serverSocket.close();
// 接收其客户端的接口
socket= serverSocket.accept();
// 获取到输入流
re_msg.setText("ceshi");
// is = socket.getInputStream();
is =socket.getInputStream();
os =socket.getOutputStream();
// serverSocket.close();
re_msg.setText("ceshi");
// 获取到输出流
//os = socket.getOutputStream();
// 无线循环来接收数据
while (true) {
// 创建一个128字节的缓冲
byte[] buffer = new byte[128];
// 每次读取128字节,并保存其读取的角标
int count= is.read();
// 创建Message类,向handler发送数据
Message msg = new Message();
// 发送一个String的数据,让他向上转型为obj类型
msg.obj = new String(buffer, 0, count, "utf-8");
// 发送数据
handler.sendMessage(msg);
// re_msg.setText(a);

}
} catch (Exception e) {
// TODO: handle exception
re_msg.setText("失败");
e.printStackTrace();
}

}
}
这是线程程序,使用蓝牙接收不到数据,一直停在socket= serverSocket.accept();,debug查看soket=null,蓝牙确认连接上,可以实现发送数据的功能。找了两天也没有找到解决方法,跪求各位大神指点一下,感激不尽!
...全文
708 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ysq1026 2019-08-12
  • 打赏
  • 举报
回复
同样的问题,一直aceept为nil
day_moon 2019-05-19
  • 打赏
  • 举报
回复
你没有发送数据成功把
王能 2019-05-16
  • 打赏
  • 举报
回复
你2个都是异步的吗,权限申请了吗 如果2个都是异步的,你必须等到AcceptThread执行完成才能执行run方法,不然肯定是null
guoguo2234 2019-05-15
  • 打赏
  • 举报
回复
有好心人教一下吗

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧