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

企业网站建设基本流程杭州做宠物网站的公司

企业网站建设基本流程,杭州做宠物网站的公司,东莞响应式网站建设,全世界足球排名国家webSocket是HTML5的一种新协议#xff0c;它实现了服务端与客户端的全双工通信#xff0c;建立在传输层#xff0c;tcp协议之上#xff0c;即浏览器与服务端需要先建立tcp协议#xff0c;再发送webSocket连接建立请求。webSocket的连接#xff1a;客户端发送请求信息它实现了服务端与客户端的全双工通信建立在传输层tcp协议之上即浏览器与服务端需要先建立tcp协议再发送webSocket连接建立请求。webSocket的连接客户端发送请求信息服务端接受到请求并返回相应的信息。连接建立。客户端发送http请求时通过 Upgrade:webSocket Connection:Upgrade 告知服务器需要建立的是webSocket连接并且还会传递webSocket版本号协议的字版本号原始地址主机地址, webSocket相互通信的Header很小大概只有2Bytes SpringBoot结合WebSocket实现群发消息 一. 消息群发 1. 导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId /dependency dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId /dependency2. 新建WebSocket配置类 Configuration public class WebsocketConfiguration {Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();} }3. 新建WebSocket服务端 ServerEndpoint(/test) Component Slf4j public class MyWebsocketServer {/*** 存放所有在线的客户端*/private static MapString, Session clients new ConcurrentHashMap();OnOpenpublic void onOpen(Session session) {log.info(有新的客户端连接了: {}, session.getId());//将新用户存入在线的组clients.put(session.getId(), session);}/*** 客户端关闭* param session session*/OnClosepublic void onClose(Session session) {log.info(有用户断开了, id为:{}, session.getId());//将掉线的用户移除在线的组里clients.remove(session.getId());}/*** 发生错误* param throwable e*/OnErrorpublic void onError(Throwable throwable) {throwable.printStackTrace();}/*** 收到客户端发来消息* param message 消息对象*/OnMessagepublic void onMessage(String message) {log.info(服务端收到客户端发来的消息: {}, message);this.sendAll(message);}/*** 群发消息* param message 消息内容*/private void sendAll(String message) {for (Map.EntryString, Session sessionEntry : clients.entrySet()) {sessionEntry.getValue().getAsyncRemote().sendText(message);}} }4. 启动后客户端连接websocket 5. 客户端发送消息得到的响应和服务端的响应 客户端 服务端 SpringBoot结合WebSocket实现一对一发送消息 导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId /dependency dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId /dependency dependencygroupIdcom.google.code.gson/groupIdartifactIdgson/artifactId /dependency新建Websocket配置类 Configuration public class WebsocketConfiguration {Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();} }新建消息对象 Data Builder NoArgsConstructor AllArgsConstructor public class Message {private String userId;private String message; }新建websocket服务 ServerEndpoint(/test-one) Component Slf4j public class MyOneToOneServer {/*** 用于存放所有在线客户端*/private static MapString, Session clients new ConcurrentHashMap();private Gson gson new Gson();OnOpenpublic void onOpen(Session session) {log.info(有新的客户端上线: {}, session.getId());clients.put(session.getId(), session);}OnClosepublic void onClose(Session session) {String sessionId session.getId();log.info(有客户端离线: {}, sessionId);clients.remove(sessionId);}OnErrorpublic void onError(Session session, Throwable throwable) {throwable.printStackTrace();if (clients.get(session.getId()) ! null) {clients.remove(session.getId());}}OnMessagepublic void onMessage(String message) {log.info(收到客户端发来的消息: {}, message);this.sendTo(gson.fromJson(message, Message.class));}/*** 发送消息** param message 消息对象*/private void sendTo(Message message) {Session s clients.get(message.getUserId());if (s ! null) {try {s.getBasicRemote().sendText(message.getMessage());} catch (IOException e) {e.printStackTrace();}}} }测试 上线两个客户端 使用其中一个客户端发送消息给另外一个只需要带上另外一个客户端的id 接收方客户端
http://www.sadfv.cn/news/341594/

相关文章:

  • 有哪些好用的设计网站有哪些内容一个网站推广
  • 开发网站性能监控个人网页设计作品ps
  • 设计需要了解的网站WordPress 磁力
  • 网站建设合同书简单版网站本科报考官网
  • 做视频资源网站有哪些难点做网站前端用什么软件
  • 在线制作视频的网站如何网上外贸接单
  • 浙江新中环建设有限公司 网站长春怎样建网站?
  • 深圳培训网站开发杭州做电商网站
  • 果洛州商城网站建设乐清女孩
  • 网站affiliate怎么做wordpress前端
  • 网站建设组织管理怎么写长沙有哪些网络平台公司
  • 青年旅行社网站建设规划书注册公司网址
  • 怎么在百度做网站推广网站开发过程 知乎
  • qq官方官网入口seo关键词教程
  • 龙岩做网站哪家好祁连县公司网站建设
  • 上海做网站去哪里临沂做网站电话
  • 宁夏电力建设工程公司门户网站深圳网站建设首选
  • 网站设计欣赏导航wordpress获取自定义文章列表
  • 那里可以做工作室做网站创意logo图片大全
  • 赣榆城乡建设局网站百度快照推广一年要多少钱
  • 长沙做网站工作室自己做电影网站需要什么
  • 怎么把网站做的小程序网站加载页面怎么做
  • 如何更改网站备案号2015年做哪些网站致富
  • 燕十八html教程网站建设公司可以做网站吗
  • 和林格尔网站制作清远网站建设推广
  • 为什么做腾讯网站运城注册公司
  • 多语言站点 wordpress网站做二维码
  • 源码屋整站源码国内永久免费的crm
  • 做公司网站域名怎么做记账凭证虹桥做网站
  • 网站建设服务开税率多少的票淘客推广怎么样