标签: websocket

错误:“disconnect”是保留的事件名称,为什么我会收到此错误?

我正在使用react、node.js 和socket.io 构建一个聊天应用程序。

我有以下用于连接和断开连接的钩子

useEffect(() => {
        const { name, room } = queryString.parse(location.search)
        socket = io(ENDPOINT)

        setRoom(room)

        // New user joins room
        socket.emit('join', { name, room }, (userNamesPresent, error) => {
            setUsersPresent(userNamesPresent.userNamesPresent)
        })

        return () => {
            // User leaves room
            socket.emit('disconnect')

            socket.off()
        }
    }, [ENDPOINT, location.search])
Run Code Online (Sandbox Code Playgroud)

我像这样在节点中处理它

io.on("connection", socket => {
    socket.on("join", ({ name, room }, callback) => {
        const { error, user } = addUser({id: socket.id, name, room})
    if(error) {
        return callback({error})
    }
    // Emitting a welcome …
Run Code Online (Sandbox Code Playgroud)

websocket node.js socket.io reactjs

1
推荐指数
1
解决办法
5092
查看次数

使用 postman new api 测试 websocket

我正在尝试让 websockets 的邮递员 api 正常工作,但是我什至无法建立连接:

当我尝试建立连接时

ws://localhost:5001/socket.io/

Run Code Online (Sandbox Code Playgroud)

结果是:

Error: Unexpected server response: 400 //for ws
Run Code Online (Sandbox Code Playgroud)
ws://localhost:5001/socket.io/

Run Code Online (Sandbox Code Playgroud)

连接到 socket.io/express/nodejs 服务器的正确 url 字符串是什么?

javascript testing websocket postman

1
推荐指数
1
解决办法
9821
查看次数

是否可以通过websocket调用http API?

我被要求在工作中使用 websocket 和 php Ratchet 进行 api 调用。由于我对websocket完全不熟悉,所以我通过google和观看youtube视频来解决这个问题,但是我搜索的越多,我就越觉得用websocket调用api是不可能的。

是我遗漏了什么还是websocket调用api真的不可能?如果可能的话,您能给我举个例子吗?

我知道我可能听起来很尴尬,因为我对网络套接字没有深入的了解,英语甚至不是我的母语,但我真的很绝望,请帮助我

php websocket phpwebsocket ratchet

1
推荐指数
1
解决办法
4042
查看次数

使用邮递员的 AWS Appsync 订阅 - 无协议错误

我正在使用 Postman 连接 AWS Appsync订阅: https: //docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html

具有以下配置:

在此输入图像描述

{“payload”:{“errors”:[{“message”:“NoProtocolError”,“errorCode”:400}]},“type”:“connection_error”}

websocket aws-appsync

1
推荐指数
1
解决办法
1366
查看次数

如何将socket.io挂载到fastapi应用程序并向所有连接的客户端发送广播

我尝试创建使用 websockets 并可以向所有连接的客户端广播消息的 fastapi 应用程序。我发现 websockets 不可能做到这一点,但找到了出色的库 - socket.io。但是我不确定如何使用它并将其与我现有的 fastapi 应用程序集成。

python websocket socket.io fastapi

1
推荐指数
1
解决办法
5374
查看次数

如何使用 postman 连接到 socket.io 时传递身份验证令牌?

这就是我将身份验证信用(映射)添加到 socket.io 中的套接字的方式:

socket = io(
    url.toString(),
    OptionBuilder()
        .setTransports(['websocket'])
        .disableAutoConnect()
        .enableForceNew()
        .enableForceNewConnection()
        .setAuth({"token": token})
        .build());
Run Code Online (Sandbox Code Playgroud)

尽管使用 POSTMAN 连接时没有这样的身份验证选项。我尝试设置“auth”标头,然后将令牌传递到那里,但这也不起作用。然后我尝试使用 {"token" : TOKEN} 发送“auth”标头,但这不起作用。

websocket socket.io dart postman

1
推荐指数
1
解决办法
1万
查看次数

如何为 Qt 6 安装 websockets?

已经在下面提到了旧帖子,但其安装websockets 的解决方案在我的 Ubuntu 21.10 中不起作用。

这可能是因为我的 Qt 是 6.2,而可用的库来自 Qt5,即。libqt5websockets5-dev

如何为 Qt6 正确安装 websocket 模块,以修复以下错误?

项目错误:QT 中的未知模块:websockets

c++ ubuntu qt websocket qt6

1
推荐指数
1
解决办法
2245
查看次数

尝试使用 Mqtt.js 通过 WebSockets 连接到 Mosquitto MQTT

我想构建一个网页来发送和接收主题。我正在使用mosquittoMQTT.js

  1. 我使用它作为配置文件:
    protocol websockets
    listener 1884
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我跑sudo mosquitto -c /etc/mosquitto/mosquitto.conf并得到
    1647529861: mosquitto version 2.0.14 starting
    1647529861: Config loaded from /etc/mosquitto/mosquitto.conf.
    1647529861: Opening websockets listen socket on port 1884.
    1647529861: mosquitto version 2.0.14 running
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我正在使用一个简单的mqtt.html完整源代码):
    <script src="https://unpkg.com/mqtt/dist/mqtt.min.js"></script>
    <script>
    const client = mqtt.connect("ws://localhost:1884")
    </script>
    
    Run Code Online (Sandbox Code Playgroud)

问题:

  • 在 Chrome 中,它只是与 101 连接并一遍又一遍地执行。当您检查 websockets 消息时,“服务器”收到:00000000: 2002 0005。当我检查蚊子的日志时:我得到了很多1647530429: Client mqttjs_b0e54ea4 closed its connection.

我正在运行:

LSB Version:    n/a
Distributor ID: ManjaroLinux
Description:    Manjaro Linux …
Run Code Online (Sandbox Code Playgroud)

javascript websocket mqtt mosquitto

1
推荐指数
1
解决办法
738
查看次数

带 Websocket 的 Mosquitto 2.0.14

我有一个在 Windows Server 2019 中运行的 Mosquitto 2.0.14 代理。我可以使用启用了 SSL 的 mqtts 协议通过端口 8883 连接到它。我还可以在没有 SSL 的情况下通过端口 1883 连接到它。
现在我想使用 Websockets 进行连接。所以我添加了一个监听器:

listener 9001
protocol websockets
allow_anonymous false
password_file C:\mosquitto\password.txt
http_dir C:\mosquitto\http_dir
set_tcp_nodelay true
Run Code Online (Sandbox Code Playgroud)

我也尝试过不使用http_dirset_tcp_nodelay。我尝试过使用和不使用 SSL 证书。
我在 Windows 防火墙以及 AWS EC2 实例安全组中打开了端口 9001。

这是我运行 mosquitto 经纪人的时候

9001端口被蚊子占用

但是当我尝试使用以下命令连接到代理时ws://broker.mysite.com:9001ws://broker.mysite.com:9001/mqtt什么也没有发生。没有错误,没有连接。即使我可以看到使用 WireShark 传入的请求,Mosquitto 也不显示任何日志。我真的被困在这里了。请帮帮我。

编辑:
我尝试使用 MQTTX、MQTT Explorer 和 MQTTBox Chrome 应用程序进行连接。

amazon-ec2 websocket mqtt mosquitto

1
推荐指数
1
解决办法
1735
查看次数

Python - WebSocket 的异步回调/接收器

我正在尝试实现与服务器的 WebSocket 连接(Python 应用程序 <=> Django 应用程序)

整个系统在包含许多任务的大 Asyncio 循环中运行。代码片段只是非常小的测试部分。

我可以随时向服务器发送任何数据,其中许多数据将键入请求内容并等待响应。但我希望有一些“始终运行”的处理程序来处理所有传入的消息。(当 Django 数据库中的某些内容发生更改时,我想将更改发送到 python 应用程序)。

如何包含始终运行的接收器/或向 websocket 添加回调?我无法找到任何解决方案。

我的代码片段:

import asyncio, json, websockets, logging

class UpdateConnection:

    async def connect(self,botName):
        self.sock = await websockets.connect('ws://localhost:8000/updates/bot/'+botName)
        
    async def send(self,data):
        try:
            await self.sock.send(json.dumps(data))
        except:
            logging.info("Websocket connection lost!")
            # Find a way how to reconenct... or make socket reconnect automatically

            
if __name__ == '__main__':
    async def DebugLoop(socketCon):
        await socketCon.connect("dev")
        print("Running..")
        while True:
            data = {"type": "debug"}
            await socketCon.send(data)
            await asyncio.sleep(1)

    uSocket = UpdateConnection()
    loop = …
Run Code Online (Sandbox Code Playgroud)

python receiver websocket async-await

1
推荐指数
1
解决办法
2900
查看次数