Socket.IO 在本地工作,但不是外部工作
Socket.IO works locally, but not exernally
我是 Node 的新手.js并且正在尝试完成一个简单的聊天应用程序。
但我卡住了。我尝试谷歌并使用其他解决方案,但由于某种原因我找不到它的工作。如果有人能帮助我,那就太好了。
我得到的错误是响应时间太长。
这是我的代码。
服务器端:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
//##### PUSH HTML FILE
app.get('/', function(req, res){
res.sendFile(__dirname +'/index.html');
});
//##### START SERVER
http.listen(3000, '0.0.0.0', function(){
console.log('started on port: 3000');
});
//##### USER CONNECTED
io.on('connection', function(socket){
console.log('A User Connected');
//##### LOG MESSAGE
socket.on('chat message', function(msg){
console.log(msg);
io.emit('chat message', msg);
});
//##### LOG USERNAME
socket.on('set username', function(username){
console.log('NEW USER: ' + username + ' has been set!');
io.emit('set username', username);
});
//#####USER DISCONNECTED
socket.on('disconnect', function(){
console.log('A user disconnected');
});
});
客户端:
<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket = io();
//##### SET USERNAME
$('#set_username').submit(function(){
socket.emit('set username', $('#username').val());
return false;
});
//##### SET MESSAGE
$('#sendmsg').submit(function(){
var msg = '['+$('#username').val()+'] ' + $('#m').val();
socket.emit('chat message', msg);
$('#m').val('');
return false;
});
//SET MESSAGE
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));
});
</script>
提前感谢!
查看评论:
您正在侦听 NAT 后面的端口 3000。如果要从外部连接,则需要在路由器中配置端口转发到本地服务器。您的 NAT 规则中有拼写错误。
相关文章:
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- appendChild在函数外部工作,但在函数内部不工作
- 我的代码在<脚本>标记,但没有'不能在外部文件中工作
- 在html文件中添加了多个外部javascript,其中一个停止工作
- 无法让 javascript 从外部文件工作
- 当我添加Mootools时,外部JS库停止工作
- 如何使toggleClass()在元素外部单击时工作
- 为什么不是'当试图使用Ajax和外部PHP文件发布内容时,我的表单工作不正常,该文件接收两个字符串
- CSS和Javascript可以在内部服务器上工作,但不能在外部工作
- 全局变量确实'在script标记中的外部.js文件之后,nt工作
- Kinetic JS无法从外部脚本文件中工作
- 使ng-show/ng-hide与由Angular之外的外部源修改的localStorage一起工作
- 内部链接返回空错误,我在 Javascript 中找不到错误.外部链接工作得很好
- Javascript 嵌入外部工作表
- 如何将整个页面保存为一个文件,以便它离线工作(包括外部javascript)
- 函数外部的 clearTimeout() 无法正常工作
- 无法在扩展程序之间获取 chrome.runtime.onMessage外部工作
- Javascript API在主站点上运行良好,但在外部服务器上无法正常工作
- Java 脚本不适用于外部工作表,但它适用于主 html 文件.为什么会这样,我该如何解决
- 内联Javascript可以工作,但在外部不起作用