世博会套接字发射不工作,但正在工作

Posted

技术标签:

【中文标题】世博会套接字发射不工作,但正在工作【英文标题】: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');
);

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

请考虑以下来自socket.io/get-started 的入门示例:) 很高兴我能提供帮助

以上是关于世博会套接字发射不工作,但正在工作的主要内容,如果未能解决你的问题,请参考以下文章

在调试中工作,但在发布中不工作 |世博会 | react-native-unimodules

当应用程序被杀死/关闭时,世博会通知不会触发方法

世博录音webm

如何在世博会的图像选择器中选择视频?

世博会苹果登录反应原生返回空值

世博会相机在 Android 设备上崩溃