gpt4 book ai didi

node.js - 为什么以下nodejs代码不能与socketio+express 3一起使用?

转载 作者:太空宇宙 更新时间:2023-11-03 23:10:54 24 4
gpt4 key购买 nike

我不明白为什么这不起作用:

我有一个sample.js,其中包含:

var http = require('http');
var socket = require('socket.io');
var express = require('express');

var app = express();
var server = http.createServer(app);
var io = socket.listen(server);

io.sockets.on('connection', function(client) {
console.log('Client Connected...');

client.emit('messages', {hello: 'world'});
});

server.listen(8080);

我有一个index.html页面,其中包含:

<!DOCTYPE html>
<html>
<head>
<script src="socket.io.js"></script>

<script>
var server = io.connect('http://mydomain:8080');
server.on('messages', function(data) {
alert(data.hello);
});
</script>
</head>
<body>
</body>
</html>

更新:使用socket.io-client.js库时,当我转到http://mydomain:8080页面时,我得到一个“信息 - 未处理的socket.io url”

有人可以指出我可能做错了什么吗?

最佳答案

您的服务器永远不会发送 index.html 因为您从未告诉过它。你需要这样的东西:

app.get('/', function(req, res) {
res.sendfile('index.html');
});

假设 index.html 位于应用程序的根级别,或者更一般地说:

app.use(express.static(__DIRNAME+'/public'));

然后将 index.html(以及样式表等任何其他静态文件)放入应用的 public 子目录中。

关于node.js - 为什么以下nodejs代码不能与socketio+express 3一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838586/

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