【问题标题】:expo socket emit is not working but on is working世博会套接字发射不工作,但正在工作
【发布时间】:2021-08-09 06:12:30
【问题描述】:

任何人都知道为什么发出不工作?如果我点击按钮,它什么也不会发生。

这是我的前端代码:

import io from 'socket.io-client/dist/socket.io';
  const socket = io('http://xxxxx:3000', {
    transports: ['websocket']
  });

  useEffect(() => {

    socket.on('connect', () => {
      setConnected(true);
      console.log('user connected');
    });

    socket.on('getmessage', message => {
      console.log(message);
    });
  });

...

        <TouchableOpacity onPress={() => socket.emit('getmessage', chatMessage)} style={{padding: 4, borderRadius: 4, backgroundColor: 'red'}}>
         <Text>Send</Text>
        </TouchableOpacity>

这是我的后端代码:

const http = require('http');

const express = require('express');

const app = express();

const routes = require('./routes/index');

const cors = require('cors');

const server = http.createServer(app);

const io = require('socket.io')(server);

app.use(cors());

app.use(express.json());

app.use(routes);

io.on('getmessage', message => {
  console.log(message);
});

io.on('connection', socket => {
  console.log('a user connected');
});

server.listen(3000, () => {
  console.log('Server listen');
});

.................................................. ..................................................... ..

【问题讨论】:

    标签: react-native socket.io expo


    【解决方案1】:

    你能像下面这样改变你的服务器端并尝试一下吗:)

    // ... your code 
    io.on('connection', socket => {
      console.log('a user connected');
      socket.on('getmessage', message => {
        console.log(message);
      });
    });
    
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    相关资源
    最近更新 更多