Node.js Socket.io聊天在服务器上不工作
我的聊天应用程序在本地服务器上正常工作,但当我将其推送到openshift服务器时,聊天功能不工作 我举这个例子: 下面是我的HTML代码Node.js Socket.io聊天在服务器上不工作,node.js,socket.io,chat,openshift,Node.js,Socket.io,Chat,Openshift,我的聊天应用程序在本地服务器上正常工作,但当我将其推送到openshift服务器时,聊天功能不工作 我举这个例子: 下面是我的HTML代码 <body> <ul id="messages"></ul> <form action=""> <input id="m" autocomplete="off" /><button>Send</button>
<body>
<ul id="messages"></ul>
<form action="">
<input id="m" autocomplete="off" /><button>Send</button>
</form>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket = io();
$('form').submit(function () {
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function (msg) {
$('#messages').append($('<li>').text(msg));
});
</script>
</body>
同样的代码在我的本地服务器上运行良好。现在,我只是简单地广播信息,包括发送者
我错在哪里?您的聊天客户端需要连接到ws端口8000(或wss端口8443)上的websocket聊天服务器。确保在连接时指定端口号。我知道时间有点晚,但文档未准备好,这导致了错误。 请尝试以下代码:
$( document ).ready(function() {
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
});
这个密码救了我。我忘了将脚本放在jquery文档ready中。最后的代码是这样的
$( document ).ready(function() {
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
});
什么不起作用?有错误吗?您在节点控制台上看到什么了吗?在浏览器控制台上?请发布错误的详细信息。您可以从任何目录中查看代码在Openshift上使用
$rhc tail-a appname
生成的日志日志日志日志日志:错误:在Function.module.处找不到模块“合并描述符”。\u在Function.module.处解析文件名(module.js:338:15)在module.require处加载(module.js:280:25)在module.require处加载(module.js:364:17)在require处加载(module.js:380:17)反对。(/var/lib/openshift/54720cf94382ecfd6c00037/app root/runtime/repo/node_modules/express/lib/ex press.js:5:13)at Module._compile(Module.js:456:26)at Object.Module._extensions..js(Module.js:474:10)at Module.load(Module.js:356:32)at Function.Module._load(Module.js:312:312:12)at Module.require(Module.js:364:17)
$( document ).ready(function() {});
$( document ).ready(function() {
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
});