MVCを使わずにストームオーバーソックスを使用することは可能ですか?ですから、私はtomcatでspring restインターフェイスを、expressではangle2アプリケーションを実行したいと考えています。spring boot rest and web2 with websocket(靴下をはがす)
WebSocketConfig.java
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
// the endpoint for websocket connections
registry.addEndpoint("/portfolio").setAllowedOrigins("*").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.setApplicationDestinationPrefixes("/app");
config.enableSimpleBroker("/topic");
}
}
SocketController.java
@Controller
public class SocketController {
@Autowired
private SimpMessagingTemplate template;
public SocketController() {
int a = 5;
}
@MessageMapping("/greeting")
public String handle(String greeting) {
return "[" + "greeting" + ": " + greeting;
}
}
とtypescriptですコード:
。 。 。
constructor() {
var socket = new SockJS('http://localhost:8080/portfolio');
this.stompClient = Stomp.over(socket);
this.stompClient.connect("guest", "guest", function(frame) {
console.log('Connected: ' + frame);
this.stompClient.subscribe('http://localhost:8080/topic/greeting', function(greeting) {
console.log("from from", greeting);
});
}, function (err) {
console.log('err', err);
});
}
。 。 。
send() {
this.stompClient.send("http://localhost:8080/app/greeting", {}, JSON.stringify({ 'name': "kitica" }));
}
。 。 。
Opening Web Socket...
stomp.js:134 Web Socket Opened...
stomp.js:134 >>> CONNECT
login:guest
passcode:guest
accept-version:1.1,1.0
heart-beat:10000,10000
stomp.js:134 <<< CONNECTED
version:1.1
heart-beat:0,0
stomp.js:134 connected to server undefined
activity-socket.ts:17 Connected: CONNECTED
heart-beat:0,0
version:1.1
、私が送信したとき、私は{ "名": "kitica"}
>>> SEND
destination:http://localhost:8080/app/greeting
content-length:17
を得る:私は出力を得るコンソールに
が、これは動作していない何らかの理由で
..メッセージはサブスクライバに返されません。
angular2は、ポート8001上にあり、春の残りの部分は、私はいくつかの問題は、Javaのスプリングブーツバックエンド対SockJs上のストンプボックスを使用してangular2クライアントで動作するように自分自身を持っていた8080
JSで使用できる場合は、Angular2で使用できます。 –
私は試したコードサンプルを使って質問を更新しました。これはその文書に基づいています –
どのようにsockJS iunをAngular2アプリに追加しましたか? –