您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 中断阻塞 >

java SOCKET编程 如何跳出accept() 阻塞?

发布时间:2019-06-28 09:32 来源:未知 编辑:admin

  java服务器,需要和安卓设备交互,我这边java写服务端,服务端需要将数据以json格式通过DatagramSocket发送给安卓设备,数据比较多需要安卓设备一个一个处理,安卓设备每处理一条数据...

  java服务器,需要和安卓设备交互,我这边java写服务端,服务端需要将数据以json格式通过DatagramSocket发送给安卓设备,数据比较多需要安卓设备一个一个处理,安卓设备每处理一条数据就用socket连接java服务器,给服务器发送一条信息,java服务器这边一直监听。但是程序需要先启动服务socket = server.accept();(等待连接,但是这个方法会一直阻塞,直到有客户端连接才会继续执行。)。我现在需要提前启动服务,然后再执行服务器给安卓设备发送数据的操作,等数据发送完成,安卓设备处理完数据后才会连接服务器。但是accept方法一直阻塞,这样的话我服务器给安卓设备发送的代码会不执行。怎么样预先启动服务,就是调用accept方法,还不让它阻塞,等accept方法下面的发送数据的代码执行完成后,再连接服务。 求大神帮忙。(必须用SOCKET,其他的非阻塞方法不能用。)

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人软件行家采纳数:11004获赞数:24403已经做过两个上架的app和两个网页项目.向TA提问展开全部JavaSOCKET变成,accept()阻塞用来接受用户请求,如果跳出这段阻塞的代码就失去了网络连接的意义。

  展开全部最好的办法是建立一个本地socket来实现一次连接来跳出accept状态,之后就可以进行break等操作了

  但如果你的accept是在主线程里,,如写在了main里,那只有强制return或直接在控制台关闭了

http://womensarab.com/zhongduanzusai/108.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有