当前位置: 首页 > news >正文

赣州网站优化大数据查询个人信息

赣州网站优化,大数据查询个人信息,北京网站设计公司哪家公司好,wordpress 上传mp3目录 一、前言二、Principal三、使用 一、前言 我们知道可以使用客户端订阅的主题前缀从 stomp 服务器向客户端发送消息,例如 /topic/hello。我们还知道我们可以向特定用户发送消息,因为 spring 提供了convertAndSendToUser(username, destination, mes…

目录

  • 一、前言
  • 二、Principal
  • 三、使用

一、前言

我们知道可以使用客户端订阅的主题前缀从 stomp 服务器向客户端发送消息,例如 /topic/hello。我们还知道我们可以向特定用户发送消息,因为 spring 提供了convertAndSendToUser(username, destination, message)API。它接受一个字符串用户名,这意味着如果我们以某种方式为每个连接都有一个唯一的用户名,我们能够向订阅某个主题的特定用户发送消息。

那么,这个用户名来自哪里?或者说它是如何用这个用户名确定对应连接的?

二、Principal

对于上面的回答是:用户名是 java.security.Principal 的一部分。每个StompHeaderAccessor或WebSocketSession对象都有此主体的实例,我们可以从中获取用户名。但是,它不是自动生成的。它必须由服务器为每个会话手动生成。

要使用它,必须先实现它:

class StompPrincipal implements Principal {String nameStompPrincipal(String name) {this.name = name}@OverrideString getName() {return name}
}

然后,通过覆盖 DefaultHandshakeHandler 为每个连接生成唯一的用户名。可以使用任何逻辑来生成用户名。这是使用 UUID 的一种潜在逻辑:

class CustomHandshakeHandler extends DefaultHandshakeHandler {@Overrideprotected Principal determineUser(ServerHttpRequest request,WebSocketHandler wsHandler,Map<String, Object> attributes) {return new StompPrincipal(UUID.randomUUID().toString())}
}

最后,需要配置 Websocket 以使用自定义握手处理程序。

@Override
void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {stompEndpointRegistry.addEndpoint("/stomp") .setHandshakeHandler(new CustomHandshakeHandler()) //在这里设置.withSockJS() 
}

三、使用

现在,服务器已配置为为每个连接生成唯一的主体名称。它将将该主体作为对象的一部分传递StompHeaderAccessor,可以通过连接事件侦听器、MessageMapping 函数等访问这些对象…

来自事件监听器:

@EventListener
void handleSessionConnectedEvent(SessionConnectedEvent event) {// Get AccessorStompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage())
}

来自消息映射 API:

@MessageMapping('/hello')
protected void hello(SimpMessageHeaderAccessor sha, Map message) {// sha 在参数中可用
}

使用convertAndSendToUser(…),向用户发送消息时,使用类似这样的内容:

convertAndSendToUser(sha.session.principal.name, '/topic/hello', message)

但是,要订阅客户端,必须使用:

client.subscribe('/user/topic/hello', callback)

如果要接收广播:

client.subscribe('/topic/hello', callback)
http://www.yidumall.com/news/97139.html

相关文章:

  • 企业门户网站包括app拉新推广平台有哪些
  • 淘宝客自建网站做还是用微信qq做推广自己的网站
  • 自动建站网站系统域名南宁seo标准
  • html与css结合网站开发书籍网站建设公司排行榜
  • 邢台做网站推广价格青岛seo结算
  • 推荐广州微信网站建设常州seo博客
  • 2元义乌小商品批发网上海网站seo招聘
  • 在汕头的网络公司有哪些新泰网站seo
  • 住房建设部网站今天的新闻 联播最新消息
  • 做网站排名软件北京seo报价
  • 电脑可以做网站主机么互联网广告公司
  • 深圳最好的营销网站建设公司网站怎么推广出去
  • 淘宝装修做代码的网站seo学徒招聘
  • 动态网站开发项目实训报告福清市百度seo
  • php做的网站安全吗小熊猫seo博客
  • 上海给政府机关做网站开发 万今日最新国内新闻重大事件
  • 江苏政府网站建设对比评估怎样做好竞价推广
  • php心水主论坛网站制作网页设计百度百科创建
  • 上海搭建商seo什么意思中文意思
  • 网站建设公司做销售前景好不好新闻头条免费下载安装
  • 免费网站建设开发产品推广
  • 佛山网站建设报价南宁推广公司
  • 180天做180个网站电商网站建设定制
  • 网站制作公司dedecms十大成功营销策划案例
  • 素材中国免费素材网官网宁波seo推广优化怎么做
  • 吉林做网站哪家好网站权重一般有几个等级
  • wordpress 网店模板制作知名seo公司
  • 天津网站建设座机号网站制作免费
  • cnnic可信网站必须做吗?做网络营销推广
  • 上海住房和城乡建设部网站关键词优化系统