Javascript 如何让node.js在我的服务器上工作?
我是node.js新手,在localhost上运行良好 对于localhost,我使用xampp,然后有一个运行node app.js(运行服务器)的.bat文件 它可以完美地运行游戏,正如您在下面看到的那样,每个屏幕上都会出现两个角色,并且位置通过服务器进行通信 然后,当我在使用ssh运行“node app.js”之后尝试在服务器上运行它时,它会输出Javascript 如何让node.js在我的服务器上工作?,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我是node.js新手,在localhost上运行良好 对于localhost,我使用xampp,然后有一个运行node app.js(运行服务器)的.bat文件 它可以完美地运行游戏,正如您在下面看到的那样,每个屏幕上都会出现两个角色,并且位置通过服务器进行通信 然后,当我在使用ssh运行“node app.js”之后尝试在服务器上运行它时,它会输出 info-socket.io已启动 就像我在本地主机上运行时一样,但当我运行应用程序时,我会出现以下错误(我以前在本地主机上尝试运行应用程序时
info-socket.io已启动
就像我在本地主机上运行时一样,但当我运行应用程序时,我会出现以下错误(我以前在本地主机上尝试运行应用程序时遇到这些错误-当服务器无法正常运行时会出现这些错误):
任何帮助都会很好,谢谢
在客户端,html文件中有以下代码:
及
var socket=io.connect('http://localhost:8080');代码>
然后用于运行所有函数。e、 g
socket.on('message', function (data) {
var player = ig.game.getEntitiesByType( EntityPlayer )[0];
if(player)
{
player.messagebox = player.messagebox + '\n' + data + ' disconnected';
}
}); `
在服务器端,我有以下代码:
var-app=require('http').createServer(handler),io=require('socket.io').listen(app),fs=require('fs')app.listen(8080)代码>您必须连接到服务器,而不是本地主机。试试这个var socket=io.connect('http://255.255.255.255:8080');
其中,您将用服务器的IP地址替换255.255.255.255
。还要更改脚本的地址:
您确定node.js服务器监听8080
端口,该端口已打开(未被防火墙阻止),并且socket.io模块已(通过npm)安装在服务器上吗
有关更多信息,请参见以下帖子:
更改var socket=client.connect('http://stuartjones.me:8080');代码>到var socket=io.connect('http://stuartjones.me:8080');代码>
使用http://localhost
因为连接不起作用。您必须使用服务器IP地址或域。我总是使用$node app.js
运行节点程序。你能用ssh连接到服务器上,导航到文件并运行文件吗,它输出info-socket.io started
时似乎工作正常。我认为这与socket.io有关。您是否在本地主机与远程服务器连接时打开了一个socket?我已在io.connect部分(***.*.*)
,尝试了以下操作:,http://localhost:8080
和http://localhost
。这似乎对他们中的任何人都不起作用。这就是你的意思吗?