首页信息安全服务器发送事件未使用React和NodeJ从流接收消息

服务器发送事件未使用React和NodeJ从流接收消息

admin 05-26 06:00 125次浏览

我有一个非常简单的设置。
节点

export default class StreamController {
    public static newMessage = async (req: Request, res: Response) => {
        const { userid } = req.params;
        res.writeHead(200, {
            "Connection": "keep-alive",
            "Content-Type": "text/event-stream",
            "Cache-Control": "no-cache",
        });
        setInterval(async () => {
            console.log(await MessagesController.hasNewMessage(userid));
            res.write(`${JSON.stringify({ hasUnread: await MessagesController.hasNewMessage(userid) })}`);
            res.write("\n\n");
        }, 5000);
    }
}

反应

 constructor() {
        super();
        const uid = getUserId();
        const eventSource = new EventSource(`http://localhost:8080/stream/messages/${uid}`)

        eventSource.Onmessage= (e) => {
            console.log(e)
        }
    }

我可以看到该流已打开,但是没有任何事件从服务器传递,而在服务器端发布了数据。我做错了什么?

服务器发送事件未使用React和NodeJ从流接收消息
Linux进程间通信怎么实现 Web端快速登录的基本原理和实现方法有哪些
相关内容