首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我找不到一种方法让套接字与react和nodejs一起工作

我找不到一种方法让套接字与react和nodejs一起工作
EN

Stack Overflow用户
提问于 2020-12-11 13:40:07
回答 1查看 43关注 0票数 0

我已经尝试了所有方法,但总是得到:getxhr.js:203获取轮询404 (未找到) http://localhost:3000/socket.io/?EIO=4&transport=polling&t=NPGI2WE -xhr.js

我的服务器:

代码语言:javascript
复制
const express = require("express");
const http = require("http");
const app = express();
const server = http.createServer(app)
const cors = require('cors');
app.use(cors());
app.options('*', cors());
const socketio = require('socket.io')
const io = socketio(server);

io.on("connection", socket => {

    socket.on("welcome", () => {
        console.log("hello");
    })
});


const port = 3000;

app.listen(port, () => console.log(`listen on port ${port}`))  

在组件react中

代码语言:javascript
复制
import React from 'react'

import io from "socket.io-client";
let socket = io("http://localhost:3000");


export default function Socket() {
    socket.emit("welcome", "hello client");
    return (
        <div>
            <h2>Hello</h2>
        </div>
    )
}

react在"localhost:3001“中运行,nodejs在"localhost:3000”中运行

我再也不知道怎么做了,甚至连一个简单的"hello“都不知道。

EN

回答 1

Stack Overflow用户

发布于 2020-12-11 14:27:12

下面的方法对我很有效,

服务器代码:

代码语言:javascript
复制
   const express = require("express");
    const http = require("http");
    const app = express();
    const server = http.createServer(app)
    const cors = require('cors');
    app.use(cors());
    app.options('*', cors());
    const socketio = require('socket.io')
    const io = socketio(server);
    
    io.on("connection", socket => {
    
        console.log("Hello connected");
        
        socket.on("welcome", () => {
            console.log("hello");
        })
    });
    
    
    const port = 3000;
    
    server.listen(port, () => console.log(`listen on port ${port}`)) 

客户端代码:

代码语言:javascript
复制
const io =  require("socket.io-client");
let socket = io.connect("http://localhost:3000");

socket.emit("welcome", "connected");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65246296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档