![](/img/trans.png)
[英]Why does the Visual Studio Node.js projects use a shebang/bash script to start server?
[英]Why does my Node.js server hang with this small script?
编辑:下面回答
这里是Node.js的新功能,我真的很想知道为什么当我尝试连接到创建的服务器时,此脚本永远挂起。
当我尝试创建服务器时,我经常发生这种情况,但我不确定为什么会发生这种情况,因为这似乎是通过非常相似的代码发生的:
节点脚本:
var http = require("http");
var file = require("fs");
var server = http.createServer(function(request, response)
{
file.readFile("chat.html", "UTF-8", function(error, content)
{
if(error) { console.error(error.stack); response.end(); }
response.writeHead(200, {"content-type" : "text/html"});
response.end(content);
});
}).listen(1994, function(){console.log("Listening");});
var websocket = require("socket.io").listen(server);
websocket.sockets.on("connection", function(socket)
{
socket.emit("message", {"message" : "Hello World"});
});
HTML:
<!DOCTYPE HTML>
<html>
<head>
<title>Chat</title>
<meta charset="utf-8">
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = websocket.connect();
socket.on("message", function(message)
{
console.log(message);
});
</script>
</head>
<body>
<div>Socket file.</div>
</body>
</html>
如果有错误,则应该结束响应,如果没有错误,则应该终止响应,或者它与Web套接字有关?
尝试更改您调用socket.io
:
var websocket = require('socket.io')(server);
websocket.on('connection', doStuff);
此示例直接来自GitHub上的文档 。
问题出在websocket.connect()
。 Socket.io使用io
作为前端的全局对象,而不是websocket
。 因此应该是io.connect()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.