java – 在Spring Sockjs应用程序上手动设置传输类型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在Spring Sockjs应用程序上手动设置传输类型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1512字,纯文字阅读大概需要3分钟。
内容图文
![java – 在Spring Sockjs应用程序上手动设置传输类型](/upload/InfoBanner/zyjiaocheng/727/a38711fb14384b549054840ce6c40cfd.jpg)
我需要在非JEE7兼容服务器上安装应用程序.我正在使用Spring Stomp SocksJs进行实时通知.
我的代码看起来像这样:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry ser) {
ser.addEndpoint("/notifications").withSockJS()
}
}
}
在客户端:
function setSocket(broker, callbackFn) {
var socket = {};
socket.cliente = new SockJS(path + broker);
socket.stomp = Stomp.over(socket.cliente);
socket.stomp.connect({}, function () {
socket.stomp.subscribe("/topic" + broker, callbackFn);
});
}
有没有办法手动设置使用的传输类型并避免使用websockets?
解决方法:
如果您的服务器不支持websockets,请确保它仍支持异步处理.
您可以使用以下选项禁用服务器端的websocket传输:
@Override
public void registerStompEndpoints(StompEndpointRegistry ser) {
ser.addEndpoint("/notifications").withSockJS().setWebSocketEnabled(false);
}
SockJS客户端将自动选择服务器支持的最佳可用传输.在您的情况下,这是处理此问题的首选方法.
如SockJS client documentation中所述,您可以在创建SockJS客户端时使用transports参数限制客户端上的可用传输.
sockJsProtocols = ["xhr-streaming", "xhr-polling"];
socket.cliente = new SockJS(url, null, {transports: sockJsProtocols}));
完整的list of available transports is here.但从技术上讲,如果您不限制服务器端的可用传输,客户端仍然可以尝试使用websockets进行连接.
内容总结
以上是互联网集市为您收集整理的java – 在Spring Sockjs应用程序上手动设置传输类型全部内容,希望文章能够帮你解决java – 在Spring Sockjs应用程序上手动设置传输类型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。