我是Java / Android开发的新手,我现在正试图找到一些网络IO,特别是套接字。
我正在尝试找到实现功能的最佳方法,我打开与服务器的套接字连接,并保持打开服务器将未经请求的数据发布到我的客户端。我可以使用AsyncTask在单独的线程中相对容易地实现命令响应模型。
有没有办法在Android上的开放Socket上进行异步读取(在.Net中我使用Socket.BeginReceive来实现这一点)。或者失败了,是否存在阻塞套接字读取,我可以放入工作线程,同时允许主线程在读取被阻止时写入同一个套接字?
任何建议都非常感谢。
答案 0 :(得分:1)
Socket。getInputStream()。read()可以在AsyncTask中使用。它会阻止。
Socket.getOutpuStream()。write()可以放在你的主线程中,如果读取在另一个线程中阻塞,它将正常工作。