Node.js socket.io将数据从服务器发送到客户端
我试图将一些json对象从服务器端发送到客户端Node.js socket.io将数据从服务器发送到客户端,node.js,express,socket.io,Node.js,Express,Socket.io,我试图将一些json对象从服务器端发送到客户端 var express=require('express'); var-app=express(); var server=app.listen(1337); var io=require('socket.io')。侦听(服务器); var json={ var1:1, var2:2, var3:3, }; io.on('connection',函数(json){ io.send('message',json); }); app.listen(30
var express=require('express');
var-app=express();
var server=app.listen(1337);
var io=require('socket.io')。侦听(服务器);
var json={
var1:1,
var2:2,
var3:3,
};
io.on('connection',函数(json){
io.send('message',json);
});
app.listen(3000);
和index.html上的
<!DOCTYPE html>
<html>
<head></head>
<body>
<script src="https://cdn.socket.io/socket.io-1.0.0.js"></script>
<script>
var socket = io.connect('http://localhost:3000');
socket.on('message', function(data) {
console.log(data);
});
</script>
</body>
</html>
var socket=io.connect('http://localhost:3000');
socket.on('message',函数(数据){
控制台日志(数据);
});
我一直在犯这个错误
访问位于“”的XMLHttpRequesthttp://localhost:3000/socket.io/?
来自源“null”的EIO=2&transport=polling&t=1602487581123-0已被CORS策略阻止:否
请求的资源上存在“Access Control Allow Origin”标头
使用“socket.io”:“^2.3.0”,
对于服务器端,将服务器端代码更改为以下代码:
var express=require('express');
var-app=express();
var http=require('http')。createServer(应用程序);
var io=require('socket.io')(http);
var json={
var1:1,
var2:2,
var3:3,
};
io.on('连接',函数()){
io.send('message',json);
});
http.listen(3000,()=>console.log('http服务器正在监听端口3000');
对于CORS标头,默认情况下允许任何来源
我建议您在客户端使用最新版本的socket.io
。你可以用这个
客户端:
文件
var socket=io.connect('http://localhost:3000');
socket.on('message',函数(数据,json){
log(数据,json);
});
为客户端创建HTTP服务器:
☁ 64313396 [master] ⚡ http-server -p 3001
Starting up http-server, serving ./public
Available on:
http://127.0.0.1:3001
http://172.31.160.227:3001
http://10.23.128.81:3001
浏览器控制台的输出: