Websocket的环境搭建与测试

Spring websocket环境配置及简单示例

1,准备好相关依赖包,spring核心包以及spring-websocket-4.3.6release.jar, javax.websocket-api-1.0.jar。导入项目。

2,新建一个WebSocketConfig.java放在mvc自动扫描的Controller中,详细代码如下:

import org.springframework.context.annotation.Bean;  
import com.database.websocket.*;
import org.springframework.context.annotation.Configuration;  
import org.springframework.web.servlet.config.annotation.EnableWebMvc;  
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;  
import org.springframework.web.socket.config.annotation.EnableWebSocket;  
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;  
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;  

@Configuration  
@EnableWebMvc  
@EnableWebSocket  
public class WebSocketConfig extends WebMvcConfigurerAdapter implements WebSocketConfigurer {
     
    @Override  
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {  
        //允许连接的域,只能以http或https开头  
    //   String[] allowsOrigins = {"http://www.xxx.com"};  
        String[] allowsOrigins ={
  "*"};  

       //WebIM WebSocket通道  
       registry.addHandler(chatWebSocketHandler(),"/webSocketIMServer").setAllowedOrigins(allowsOrigins).addInterceptors(myInterceptor());  
       registry.addHandler(chatWebSocketHandler(),"/sockjs/webSocketIMServer").setAllowedOrigins(allowsOrigins).addInterceptors(myInterceptor()).withSockJS();  
    }  
    @Bean  
    public ChatWebSocketHandler chatWebSocketHandler() {  
        return new ChatWebSocketHandler();  
    }  
    @Bean  
    public WebSocketHandshakeInterceptor myInterceptor(){  
        return new WebSocketHandshakeInterceptor();  
    }  
}  

3,新建一个websocket的包,新建一个WebSocketHandshakeInterceptor.java文件作为握手拦截器,WebSocket握手拦截器用来拦截和处理客户端和服务器端分别在握手前和握手后的事件,我们这里添加这个拦截器是为了清晰的知道什么时候以及是否握手成功。详细代码如下:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值