我正在两台本地服务器之间建立一个websocket进行开发。
一端,我的Ionic应用程序运行在http://localhost:8100/
在另一端,我有一个Spring后端正在运行http://localhost:9080/(或http://127.0.0.1:9080)
连接已经建立,所以接下来我想用令牌发送一条消息到web套接字(我知道这可以在SockJS 1.1.0中设置连接时发送,但我目前使用的是0.3.4)
然而,我在后端的代码似乎没有响应,我想知道我的IP配置是否正确。我遵循了一个教程,并在另一个项目中实现了这一点。
任何有更多经验的人都知道订阅函数中的网址是否也需要以“localhost”或IP地址作为前缀?我知道webSocket从超文本传输协议://变为ws://,所以我想当这种情况下,我需要用类似的东西作为前缀:ws://localhost:9080/...
无论如何,我的代码如下:
WebSocet服务:
function init() {
var socket = new SockJS('http://127.0.0.1:9080/ws-notification');
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
console.log('Connected: ' + frame);
/**
* Subscribe at /ws-topic/greetings url to catch messages
*/
stompClient.subscribe('/ws-topic/greetings', function(greeting){
notify(JSON.parse(greeting.body).content);
});
parseAuthentication();
});
}
function parseAuthentication(){
stompClient.send("/ws-app/ws-notification",{},JSON.stringify({ 'token': authenticationService.isAuthenticated() }));
}
function disconnect() {
if (stompClient != null) {
stompClient.disconnect();
}
// setConnected(false);
console.log("Disconnected");
}
function notify(message){
console.log("NOTIFY: "+message);
}
WebSocket配置:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws-notification").setAllowedOrigins("*").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry config){
config.enableSimpleBroker("/ws-topic");
config.setApplicationDestinationPrefixes("/ws-app");
}
}
我的控制函数:
@MessageMapping("/ws-notification")
@SendTo("/ws-topic/greetings")
public Notify greeting(Notify notify) throws InterruptedException {
Thread.sleep(1000);
return new Notify("Hello, your token is :" + notify.getWsToken());
}
请注意,当我在init()函数中设置连接时,我只指定了IP地址,试图用ws://127.0.0.1前缀其他网址:...
我尝试使用Stomp(而不是SockJs)实现普通的网页口袋,其中包含Spring服务器和Angular客户端。 下面是我在Spring中启用websocket的代码: 但是我无法连接到它,当我尝试使用Stumpjs进行角度连接时,连接永远不会完成。当我使用wscat(顺便说一句, /api/很好)进行测试时,没有任何响应,它总是尝试连接但没有成功。 这里怎么了? 编辑:这是我使用的两个依赖项 编
问题内容: 错误2002(HY000):无法通过套接字’/var/run/mysqld/mysqld.sock’(2)连接到本地MySQL服务器 我尝试了在互联网上找到的所有内容,但是无法解决在Ubuntu 11.04上出现的问题。 我尝试了这些事情: 使用手动启动mysqld 使用启动mysqld 检查它是否正在使用并获得结果 在手动创建文件 授予用户权限 试图删除并重新安装,但仍然无法正常工作
我正在运行Docker容器,其中运行一个jar文件。 此jar文件需要访问Elasticsearch以读取数据,并且此Elasticsearch服务安装在本地计算机上(不在Docker容器中) 我需要从Docker容器连接到本地Elasticsearch服务以使其正常工作 我在Dockerfile中写了EXPOSE 9200 9300 service-port,我的Docker run命令如下,
我创建了一个PHP websocket服务器脚本,如下所示。
C:\用户\跨度t 2\下载\apache-cassandra-3.11.5\bin 启动 Cassandra 服务器 C:\用户\跨度t 2\下载\apache-cassandra-3.11.5\bin 连接错误:('无法连接到任何服务器',{'127.0.0.1':错误(10061,"尝试连接到[('127.0.0.1',9042)]。最后一个错误:无法进行连接,因为目标机器主动拒绝它")})
到“ws://example.app:8080/”的WebSocket连接失败:在收到握手响应之前连接已关闭