Controller
/**
* @author : 徐长城
* @des:
* @date : 2019/9/18 22:13
*/
@RestController
@RequestMapping("/sse")
public class SSEController {
@RequestMapping(value = "/get",produces = "text/event-stream;charset=UTF-8")
public String getData(){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "data:行情:" + Math.random()+"\n\n";
}
}
注意:要加上"\n\n"不然没有数据
html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var source = new EventSource("/sse/get");
source.onmessage = function (evt) {
console.log(evt.data);
document.getElementById('text').innerText = evt.data;
}
</script>
</head>
<body>
用户一
<p id="text"></p>
</body>
</html>
访问页面
但是有个很大的缺点就是一直在请求
大家也可以看下WebSocket的实现
https://blog.csdn.net/xcc_2269861428/article/details/100999810