SpringBoot Websocket错误-o.s.m.s.DefaultSubscriptionRegistry:G



我正在尝试构建一个基于SpringBoot Websockets作为后端和Angular Client作为前端的聊天应用程序。现在,如果我在SpringBoot应用程序中嵌入我的angular代码,一切都会正常运行。然而,如果我试图使用电子伪造作为一个独立的客户端运行angualr应用程序,我会得到以下错误:

o.s.m.s.b.DefaultSubscriptionRegistry    : No destination in GenericMessage 
MessageController.java
/**
* Process message.
*
* @param message the message
*/
//This is intended to particular user;
@MessageMapping("/users/message")
public void processMessage( MessageBean message )
{
message.setMessageType( MessageTypeEnum.CREATE_CHANNEL );
Map< String, Object > response;
String responseMessage = "Connection request sent successfully";
try
{
String channel = userService.generateConnectionString( message.getRecieverId() );
boolean isError = false;
if ( channel == null )
{
isError = true;
responseMessage = "Unable to sent request, please try again";
}
message.setText( channel );
response = generateResponse( isError, message, responseMessage );
if ( !isError )
{
messagingTemplate.convertAndSend( "/queue/room/" + message.getRecieverId(), response );
messagingTemplate.convertAndSend( "/queue/room/" + message.getSenderId(), response );
}
else
{
messagingTemplate.convertAndSend( "/queue/room/" + message.getSenderId(), response );
}
}
catch ( Exception e )
{
responseMessage = "Unable to sent request, please try again";
response = generateResponse( true, null, responseMessage );
messagingTemplate.convertAndSend( "/queue/room/" + message.getSenderId(), response );
e.printStackTrace();
}
}

//AngularJS代码片段:

$scope.attempHandhsake = function(targetUser)
{
$scope.searchList = [];
var message = {};
message.senderId = $scope.user.id;
message.senderName = $scope.user.firstname + " " + $scope.user.lastname;
message.usernameSender = $scope.user.username;
message.recieverId = targetUser.id;
message.recieverName = targetUser.firstname + " " + targetUser.lastname;
message.usernameReciever = targetUser.username;
var sendObject = JSON.stringify(message);
client.send("/app/users/message",sendObject,{});
}

函数client.send的第二个参数不应该是第三个参数吗?反之亦然?

换句话说,函数$scope.attemptHandshake的最后一行应该看起来像这个

client.send("/app/users/message",{},sendObject);

相关内容

  • 没有找到相关文章

最新更新