java socket通信服务器为什么只能接收到客户端第一次发送的消息,后面发送的都接收不到
客户端点击“查询”按钮向服务器发送请求,可是服务器只能返回一次结果,接下来无论如何怎么点按钮服务器都无法接收请求了,这是为什么?...
客户端点击“查询”按钮向服务器发送请求,可是服务器只能返回一次结果,接下来无论如何怎么点按钮服务器都无法接收请求了,这是为什么?
展开
4个回答
展开全部
你的逻辑就是接受一次连接、然后退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
服务器应该写一个类似死循环的结构,也就是永不推出,而且在每次循环开头都用一个接收请求(receive, accept)之类的阻塞方法等待客户端连接,循环体内对连接上的客户端做处理,就是这样(方法名不准确,大致意思是这样的):
while(true) {
socket= server_socket.accept (...); //没接到请求就一直堵塞
if( socket ! = null){
socket.getInputStream();
socket.getOutputStream();
.....
}
}
while(true) {
socket= server_socket.accept (...); //没接到请求就一直堵塞
if( socket ! = null){
socket.getInputStream();
socket.getOutputStream();
.....
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是接收一次后就关闭套接字了。你仔细看一下代码。看看是服务器还是客户端断开套接字或者退出了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询