Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring websocket sockjs连接在建立之前丢失_Spring_Websocket_Sockjs - Fatal编程技术网

spring websocket sockjs连接在建立之前丢失

spring websocket sockjs连接在建立之前丢失,spring,websocket,sockjs,Spring,Websocket,Sockjs,我在使用spring websocket和sockjs over stomp时遇到了一个问题。。 当我定义“localhost:8080/websocket”时,它工作得非常好。。。 但是当我用ip更改本地主机时。例如:192.168.3.56websocket无法连接到后端。。并且有消息“建立前连接丢失” 任何人都可以帮助我,我真的被困住了 其my spring配置websocket代码: @Override public void configureMessageBroker(Message

我在使用spring websocket和sockjs over stomp时遇到了一个问题。。 当我定义“localhost:8080/websocket”时,它工作得非常好。。。 但是当我用ip更改本地主机时。例如:192.168.3.56websocket无法连接到后端。。并且有消息“建立前连接丢失” 任何人都可以帮助我,我真的被困住了

其my spring配置websocket代码:

@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
    config.enableSimpleBroker("/device","/topic","/queue");
    config.setApplicationDestinationPrefixes("/app");

}

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
    registry.addEndpoint("/websocket").withSockJS()

            .setStreamBytesLimit(512 * 1024)
            .setHttpMessageCacheSize(1000)
            .setDisconnectDelay(30 * 1000);
    ;
}
这是基于coffeescript的我的客户端代码:

 service = {}


listener = $q.defer()
  socket =
    client: null
    stomp: null

  service.RECONNECT_TIMEOUT = 30000
  service.SOCKET_URL = "#{HOST}websocket"
  service.SUBSCRIBER_UPDATE = "/device/update"
  service.SUBSCRIBER_UPDATE_ALL = "/device/update_all"

  reconnect = ->
    $timeout (->
      initialize()
      return
    ), @RECONNECT_TIMEOUT
    return

  startListener = ->
    socket.stomp.subscribe "#{service.SUBSCRIBER_UPDATE}/#{id}", (data) ->
      body = JSON.parse(data.body)
      if body.message is 'RELOAD'
        $state.transitionTo $state.current, $stateParams,
          reload: true
          inherit: false
          notify: true
      return
    socket.stomp.subscribe service.SUBSCRIBER_UPDATE_ALL, (data) ->
      console.log data
      body = JSON.parse(data.body)
      if body.message is 'RELOAD'
        $state.transitionTo $state.current, $stateParams,
          reload: true
          inherit: false
          notify: true
      return
    listener.resolve()

  errorListener =(error)->
    listener.reject()

  service.initialize = ->
    socket.client = new SockJS(service.SOCKET_URL)
    socket.stomp = Stomp.over(socket.client)
    socket.stomp.connect {}, startListener,errorListener
    socket.stomp.onclose = reconnect
    listener.promise
  service