第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

Spring Boot實(shí)現(xiàn)Web Socket

標(biāo)簽:
webpack

实现代码

依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId></dependency>

启动类

@SpringBootApplicationpublic class Application {    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

配置

@Configurationpublic class WebSocketConfig implements WebSocketMessageBrokerConfigurer {    @Bean
    public ServerEndpointExporter serverEndpointExporter (){        return new ServerEndpointExporter();
    }
}

WebSocket

@ServerEndpoint("/websocket")@Componentpublic class MyWebSocket {    private static AtomicLong onlineCount = new AtomicLong();    private static ConcurrentHashMap<String, Session> webSocketMap = new ConcurrentHashMap<>();    @OnOpen
    public void onOpen(Session session) {
        webSocketMap.put(session.getId(), session);
        System.out.println("有新链接加入!当前在线人数为:\t" + onlineCount.incrementAndGet());
    }    @OnClose
    public void onClose(Session session) {
        webSocketMap.remove(session.getId());
        System.out.println("有一链接关闭!当前在线人数为:\t" + onlineCount.decrementAndGet());
    }    @OnMessage
    public void onMessage(String message, Session session) throws IOException {
        System.out.println("收到消息:\t" + message);        if (message.contains("#")) {
            String[] msgMap = message.split("#");
            String targetId = msgMap[0];
            String msg = String.format("[%s]:\t%s", session.getId(), msgMap[1]);
            session.getBasicRemote().sendText(message + "[self]");            // 单发消息
            for (Session item : webSocketMap.values()) {                if (item.getId().equals(targetId)) {
                    sendMessage(item, msg);
                }
            }
        } else {
            String msg = String.format("[%s]:\t%s", session.getId(), message);
            session.getBasicRemote().sendText(msg + "[自己]");            // 群发消息
            for (Session item : webSocketMap.values()) {                if (!item.getId().equals(session.getId())) {
                    sendMessage(item, msg);
                }
            }
        }
    }    private void sendMessage(Session session, String message) throws IOException {
        session.getBasicRemote().sendText(message);
    }
}

Github地址

https://github.com/dubby1994/web-socket

结果截图

第0个客户端

webp

image

第1个客户端

webp

image

第2个客户端

webp

image

服务端

webp

image



作者:我是杨正
链接:https://www.jianshu.com/p/220b610a94dd


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消