我是靠谱客的博主 有魅力百合,最近开发中收集的这篇文章主要介绍webSocket接收字节消息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

视频


前段时间公司有一个需求要通过相机记录车辆进出场时的视频,但是相机是通过websocket实时传的是一张一张的mjpeg的图片,所以就需要用图片转视频。

  • WebSocket接收二进制数据需要继承BinaryWebSocketHandler类
  • 重写handleBinaryMessage()方法
/**
* 接收到信息
*/
@Override
protected void handleBinaryMessage(WebSocketSession session, BinaryMessage message) throws Exception {
ByteBuffer payload = message.getPayload();
byte[] buffer = payload.array();
// 输出的文件流保存图片至本地
String timestamp = DateUtils.convertCurDate2Str(DateUtils.FORMAT_YYYYMMDDHHMISSSSS);
File dir = new File(TIME_PLATE+File.separator+"image"+File.separator);
if (!dir.exists()){
dir.mkdirs();
}
File file = new File(dir.getAbsolutePath()+File.separator+timestamp+".jpg");
log.info("创建文件结果:{}",file.createNewFile());
OutputStream out = new FileOutputStream(file);
out.write(buffer);
out.flush();
out.close();
}
  • 建立连接后因为推送的是图片,需要设置消息的大小限制。可以通过config类去设置,我是直接在建立连接后设置的。
/**
* 建立连接以后
*/
@Override
public void afterConnectionEstablished(WebSocketSession session) {
log.info("与相机建立连接,{}:{}",session.getRemoteAddress().getHostString(),session.getRemoteAddress().getPort());
session.setBinaryMessageSizeLimit(52428800);
session.setTextMessageSizeLimit(52428800);
WebSocketCameraHandler.session = session;
}
  • 断开连接
/**
* 断开连接以后
*/
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
log.info("与相机断开链接:{},原因:{},大小:{}",System.currentTimeMillis(),status.getReason(),session.getBinaryMessageSizeLimit());
}
  • 连接webSocket
StandardWebSocketClient client = new StandardWebSocketClient();
//finalUrl:示例:ws://127.0.0.1:9999/ws
WebSocketConnectionManager manager = new WebSocketConnectionManager(
client, new WebSocketCameraHandler(), finalUrl);
manager.setOrigin("127.0.0.1");
HttpHeaders httpHeaders = new HttpHeaders();
manager.setHeaders(httpHeaders);
//建立连接
manager.start();
//关闭连接
manager.stop();

综上,就是整个webSocket接收字节消息的方法,下一篇写下图片转视频!地址:Jim2Mov图片转视频

最后

以上就是有魅力百合为你收集整理的webSocket接收字节消息的全部内容,希望文章能够帮你解决webSocket接收字节消息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部