问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教JAVA如何实现web下的长连接关键后台如何写

发布网友 发布时间:2022-04-20 03:31

我来回答

1个回答

热心网友 时间:2022-04-23 06:13

目前web上的消息通讯方式主要有以下几种。
轮询,长连接,websocket
轮询:隔一段时间访问服务器,服务器不管有没有新消息都立刻返回。
长连接:页面向服务器发出请求,由服务器决定什么时候返回。(如果有新消息则立刻返回,没有的话就保持连接,直到有新消息才返回)
websocket:类似Java Socket,由Http请求模拟实现的socket。

要实现长连接的关键就是: 由服务器端决定什么时候返回数据。比如在servlet中。

doGet(...){
...
Thread.sleep(30000);
return ...
}
这就是一个长连接的例子,只是没有任何意义而已。

你要做的就是在doGet中阻塞住,
while(!hasNewMsg){
sleep(500)
}
return newMsg...

当然你的ajax超时时间要设置长一点。

如果可以的话,最好可以使用websocket。
java 怎么实现http1.1中规定的pipeline的长连接

websocket:类似Java Socket,由Http请求模拟实现的socket。要实现长连接的关键就是: 由服务器端决定什么时候返回数据。比如在servlet中。doGet(...){ ...Thread.sleep(30000);return ...} 这就是一个长连接的例子,只是没有任何意义而已。你要做的就是在doGet中阻塞住,while(!hasNewMsg){ sleep...

java 实现长连接接受信息,发送信息

对于你这个需求,可以用当前比较热门的websocket来解决。websocket可以实现服务端和客户端全双工通信,实时性非常好。你可以自己搭建websocket服务,也可以使用第三方的websocket推送框架,比如【GoEasy】。【GoEasy】目前支持java、php、python等服务端语言,同时也支持小程序、vue、uniapp等前端技术,使用起来还...

java怎么实现长连接?

应该是HTTP连接吧,HTTP连接本身的request/response模式设计就是短链接的,即服务器端响应之后断开连接。若要做长连接,在没有具体业务的情况下,最基础的就是建立java.net.Socket连接,自己制定协议来控制断开。服务器端的实现老的有标准IO(java.net.*),新的有NIO(java.nio.*)。有具体业务时可以...

Java Socket 长连接怎么实现

现编这个就是个多线程服务器,只要在client不释放连接,服务器端的run里边写while(TRUE)循环,那么就可以长期连接。class ConnectionThread extends Thread{ Socket client;int counter;public ConnectionThread(Socket cl,int c){ client = cl;counter= c;} Override public void run(){ try{ String...

javawebsocket服务端?

2、建议看一下springwebsocket,实现起来相对简单一点。其实websocket就是客户端页面打开的时候跟服务器建立长连接,服务器端保存链接信息和用户信息。服务器有消息要推送,就选择用户对应的链接发送消息。3、第一种很简单,直接使用第三方实现的推送,无需复杂的开发运维,直接可以使用。第二种就是自己封装,...

java实现一个webSSH

Java实现WebSSH:技术选型与实践在处理一个项目需求时,我需要在Web环境中实现SSH终端连接功能。开始时,我搜索了GitHub上的解决方案,诸如GateOne、webssh和shellinabox等,它们提供了强大的WebSSH功能。然而,由于这些项目大多基于Python,依赖于额外的文件,不适合直接在用户环境中使用,因为这会增加不必要的...

java 怎么实现 在线web客服

关键就是要实现在不刷新页面的前提下获取新的消息。目前有3种实现方式:轮询。Ajax每隔一段时间请求一次服务器。长连接。在轮询的基础上,请求服务器,并且只有在有新消息的时候服务器才返回数据。websocket。这个类似socket,是目前最好的实现方式。不过需要高版本的web服务器来支持。具体可以看我刚才回答...

如何用java实现HTTP长连接

JDK中的HTTP协议句柄将关闭连接,并将连接放到连接缓存中。下次获取URLConnection示例,并获取InputStream流时,会再次使用之前打开的TCP连接。也就是说:public static String sendPost(String url, String param) { String result = ""; try { URL httpurl = new URL(url); HttpURLConn...

Java Web 服务器的消息推送 几种方案

Java Web 服务器的消息推送有以下几种方案:1. 轮询:前端使用ajax不停的发起请求获取想要的数据(最简单也是最容易耗尽服务器资源)。2. 长连接:HTTP长连接,客户端向服务端发起请求,服务端等有数据了才response,否则一直持有该连接Cometgithub: comet4j 项目,可以直接下载配置jar到tomcat下使用。3、...

web开发iframe长连接怎么接收响应消息

1.iframe实现长连接 <%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Insert title here ...

JAVA web开发 javaweb搜索功能实现 javaweb是前端还是后端 java websocket Java web新建项目 JAVA websocket Java web javaweb前端
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
南京华能智慧供应链投资管理合伙企业(有限合伙)怎么样? 被狗紧咬不放怎样快速让其松口?很多人不知道! 如何维修筋膜枪?筋膜枪维修教程? 订车票,和定房间的英语作文(初2水平的)。 初二的英语作文,谁有? 华硕飞行堡垒按哪个键可以进入输入密码的页面 ...说是考核期,不给你假,你会怎么样做?是选择辞职还不请假了... 怎么解决华硕飞行堡垒设置密码的问题 ...昨天给领导续假,领导给发了红包,我该怎么办? 轩辕传奇手游仙鹤池在什么地方 位置详细解析 手机耳机有电流麦怎么办? WebSocket 是什么原理 耳机电流麦怎么解决 webSocket长时间连接后会不会变卡 耳麦有电流怎么解决? 耳机麦有很大的电流声怎么解决? websocket是短连接还是长连接 新买的耳机有电流声怎么办 WebSocket 是什么原理?为什么可以实现持久连接? 怎么去掉耳麦的电流声? websocket或者tcp长连接怎么实现登录验证 手机耳机有电流声小妙招? 有点晕,从长连接的角度来说,keep-alive和websock... WebSocket和长连接的区别 WebSocket 是什么原理?为什么可以实现持久连接 长连接,长轮询,websocket有什么区别和联系 头发很油还一直掉头发怎么办呢? 头发特别的油,还容易掉,是什么原因? 头发很油掉发严重,真的是肝出了问题吗?该如何正... 头发太油怎么办? 天天都要洗头发,而且很容易掉发 耳机麦有电流声怎么解决 如何对 websocket 进行压力测试 耳机有电流麦怎么办 ? WebSocket 协议有哪些劣势和缺点 java 实现长连接接受信息,发送信息 Java Web 服务器的消息推送 几种方案 耳机麦克风有电流声怎么解决 socket.io可以长时间连接吗 手机插上耳机怎么会有电流声 我的耳机为什么有电流麦? ws-flv和http-flv区别 新买的耳机怎么会有电流声啊什么情况 我的美的F60一30B6热水器怎么老是会烧坏插头?求大... 美的f60-30b6热水器的预约功能怎样使用 美的热水器F60-30B6不上水 不烧热水怎么办 美的F60-30B6怎么样?美的F60-30B6好吗 美的f60一30b6热水器多少钱 美的热水器f60-30b6的水量咋么看? 美的热水器f60_30b6水温怎么看 美的热水器f60 -30b6说明书