socket.io 在服务器上不起作用,但在我的本地主机上它可以
socket.io doesnt work on the server but on my localhost it does
我和socket.io做了个聊天室和express。它在我的本地主机上工作,但当我将它上传到 github 时,它不工作。
我在网上搜索了很多时间,但一无所获所以如果你能帮助我,那就太棒了。
代码:html(客户端)
<html>
<head>
<title>Chat with your friend</title>
<style>
#chat{
height:500px;
}
</style>
</head>
<body>
<div id="chat"></div>
<form id="send-message">
<input size="35" id="message"></input>
<input type = "submit"></input>
</form>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
jQuery(function($){
var socket = io.connect();
var $messageForm = $('#send-message');
var $messageBox = $('#message');
var $chat = $('#chat');
$messageForm.submit(function(e){
e.preventDefault();
socket.emit('send message', $messageBox.val());
$messageBox.val('');
});
socket.on('new message', function(data){
$chat.append(data + "<br/>");
});
});
</script>
</body>
</html>
app.js(服务器)
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);
server.listen(8080);
app.get('/', function(req, res){
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function(socket){
socket.on('send message', function(data){
io.sockets.emit('new message', data);
});
});
package.json:
{
"name": "Chat",
"version": "0.1.0",
"priviate": true,
"dependencies": {
"socket.io": "1.4.6",
"express": "4.14.0"
}
}
将代码放在 github 上 运行 不会为您提供服务器。
HyperDev可能就是你想要的。
它将运行 免费为您的节点应用程序。只是不要指望它有 100% 的时间。
我把你的代码复制到 project.
必须进行一些小的更改才能在 hyperdev 上运行:
- 现在监听端口 3000
- 现在从 https 源而不是 http
加载 jquery
- 您在 package.json 中打错了 'private' ;)
要查看 运行ning 站点,请单击左上角的 'Show'。
您可以通过单击左上角的 'holly-bush' 和 'Remix Project' 将其复制到您自己的项目中。然后你可以对那个进行更改,它会为你刷新服务器。
这是测试节点内容的好方法。
我和socket.io做了个聊天室和express。它在我的本地主机上工作,但当我将它上传到 github 时,它不工作。 我在网上搜索了很多时间,但一无所获所以如果你能帮助我,那就太棒了。
代码:html(客户端)
<html>
<head>
<title>Chat with your friend</title>
<style>
#chat{
height:500px;
}
</style>
</head>
<body>
<div id="chat"></div>
<form id="send-message">
<input size="35" id="message"></input>
<input type = "submit"></input>
</form>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
jQuery(function($){
var socket = io.connect();
var $messageForm = $('#send-message');
var $messageBox = $('#message');
var $chat = $('#chat');
$messageForm.submit(function(e){
e.preventDefault();
socket.emit('send message', $messageBox.val());
$messageBox.val('');
});
socket.on('new message', function(data){
$chat.append(data + "<br/>");
});
});
</script>
</body>
</html>
app.js(服务器)
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);
server.listen(8080);
app.get('/', function(req, res){
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function(socket){
socket.on('send message', function(data){
io.sockets.emit('new message', data);
});
});
package.json:
{
"name": "Chat",
"version": "0.1.0",
"priviate": true,
"dependencies": {
"socket.io": "1.4.6",
"express": "4.14.0"
}
}
将代码放在 github 上 运行 不会为您提供服务器。
HyperDev可能就是你想要的。
它将运行 免费为您的节点应用程序。只是不要指望它有 100% 的时间。
我把你的代码复制到 project.
必须进行一些小的更改才能在 hyperdev 上运行:
- 现在监听端口 3000
- 现在从 https 源而不是 http 加载 jquery
- 您在 package.json 中打错了 'private' ;)
要查看 运行ning 站点,请单击左上角的 'Show'。
您可以通过单击左上角的 'holly-bush' 和 'Remix Project' 将其复制到您自己的项目中。然后你可以对那个进行更改,它会为你刷新服务器。
这是测试节点内容的好方法。