gpt4 book ai didi

node.js - Nodejs 和网络套接字

转载 作者:IT老高 更新时间:2023-10-28 23:21:34 26 4
gpt4 key购买 nike

我正在尝试将数据从我的浏览器 (Chrome) 推送到 nodejs 服务器,但遇到了可怕的麻烦。

基本上,我已经在浏览器中看到了这段代码:

<script src="./Socket.IO/socket.io.js"></script>
<script>
io.setPath('./Socket.IO/');

var socket=new io.Socket('xxx.xxx.xxx.xxx');

socket.on('connect',function(){
alert('connect');
});
socket.on('message',function(msg){
alert('message'+msg);
});
socket.on('close',function(){
alert('close');
});
socket.on('disconnect',function(){
alert('disconnect');
});
socket.connect();

</script>

唯一出现的警报是“关闭”警报。

这是我的服务器代码:

var http=require('http');
var io=require('./Socket.IO-node');

var server=http.createServer(function(req, res){
// your normal server code
res.writeHeader(200, {'Content-Type': 'text/html'});
res.writeBody('<h1>Hello world</h1>');
res.finish();
});

var socket=io.listen(server,{transports:websocket,port:8080});

socket.on('connection',function(client){
console.log('connection');
});

您可以看到我正在尝试记录与控制台的连接,但没有任何显示。我一直在谷歌上搜索并尝试通过 http://github.com/LearnBoost/Socket.IO-node 上的 Socket.IO 示例工作。似乎没有什么对我有用...

非常感谢任何指针。

编辑:你好,

我现在有以下服务器代码:

var http=require('http');
var io=require('./Socket.IO-node');

var server=http.createServer(function(req, res){
//your normal server code
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Hello world');
res.end();
});

server.listen(8124);
server=io.listen(server);
server.on('connection', function(client){
console.log('EOH connected');
sys.log('EOH connected');
});
server.on('clientConnect',function(client){
console.log('EOH connected');
sys.log('EOH connected');
});
server.on('clientDisconnect',function(client){
console.log('EOH disconnected');
sys.log('EOH disconnected');
});

以及以下客户端代码:

<script>
window.onload=function(){
io.setPath('./Socket.IO/');
socket = new io.Socket('localhost', {'port': 8124});
socket.connect();
socket.send('xxx');
}
</script>

当我在 localhost:8124 加载客户端代码时,我预计会触发某种“clientConnect”事件。我还在套接字对象上发送数据,但服务器上什么也没有出现……完全难住了。现在正在考虑使用 node-websocket-server (http://github.com/miksago/node-websocket-server)。

解决方案:git clone git://github.com/LearnBoost/Socket.IO.git --recursive

使用 --recursive 标志。呵呵!

最佳答案

这是一个 Chrome 问题:Node.js, WebSocket Location Issue?

关于node.js - Nodejs 和网络套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3389637/

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