gpt4 book ai didi

javascript - react native 和 socket.io Node 不起作用

转载 作者:IT老高 更新时间:2023-10-28 22:12:36 24 4
gpt4 key购买 nike

下面是我尝试连接到 Node websocket 后端的 react native 组件和 Node server.js 代码。

我的 react 代码与服务器在同一台计算机上运行。我在这里和 github 上找到了很多不同的答案,我都无法使用。

我也发现了这个 question从来没有回答过,this question有一个我无法工作的答案(一年多前被问到)

我找到了this article并尝试根据这些准则修改我的代码,但这没有奏效。

react 代码

import React from 'react';
import { StyleSheet, Text, View, Image } from 'react-native';

const io = require('socket.io-client/socket.io');
let socket = io('http://localhost:3000');

export default class App extends React.Component {

constructor(props) {
super(props);
console.log(socket);
}

render() {
return (
<View>
<Text>Websocket</Text>
</View>
);
}
}

server.js

const express = require('express');
const http = require('http')
const socketio = require('socket.io');

const app = express();
const server = http.Server(app);
const websocket = socketio(server);
server.listen(3000, () => console.log('listening on *:3000'));

console.log(websocket)

// The event will be called when a client is connected.
websocket.on('connection', (socket) => {
console.log('A client just joined on', socket.id);
});

我正在使用以下版本的软件包

"expo": "^16.0.0",
"react": "16.0.0-alpha.6",
"react-native": "^0.43.4",
"socket.io-client": "^1.7.3"

最佳答案

我认为应该是

const io = require('socket.io-client');

这对我有用。

我记得在使用 react native 时遇到过这些问题。许多 socket.io 教程(包括他们页面上的教程)假设您使用的是通过 HTML 文档中的脚本标签导入 JS 的旧样式。看起来 socket.io 改变了命名空间,因为我记得它是 socket.io-client/socket.io 前段时间如果内存还可以的话......

关于javascript - react native 和 socket.io Node 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43724385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com