Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php node Socket.io链接如何提供服务器而不是本地主机(wamp/xampp)_Php_Node.js_Socket.io - Fatal编程技术网

Php node Socket.io链接如何提供服务器而不是本地主机(wamp/xampp)

Php node Socket.io链接如何提供服务器而不是本地主机(wamp/xampp),php,node.js,socket.io,Php,Node.js,Socket.io,我不熟悉套接字会话,但我了解了它在wamp/xampp localhost中的工作原理。 但当我移动到托管服务器时。这是行不通的 <script src="http://localhost:3000/socket.io/socket.io.js"></script> 在节点index.js的服务器端,您需要在http服务器上使用io var app = require('express')(), http = require('http').Server(app),

我不熟悉套接字会话,但我了解了它在wamp/xampp localhost中的工作原理。 但当我移动到托管服务器时。这是行不通的

<script src="http://localhost:3000/socket.io/socket.io.js"></script>

在节点index.js的服务器端,您需要在http服务器上使用io

var 
app = require('express')(),
http = require('http').Server(app),
io = require('socket.io')(http);`
我把车把作为我的模板系统,所以,我继续。在主模板文件中,您将添加

<script>
var socket = io.connect('http://bbb.com:3000');
   socket.on('connect', function(){
       socket.emit('authenticate', {data: "token"});
       socket.on('error', function(err){ alert(err); 
   });
   socket.on('unauthorized', function(err){
       alert("Disconnected");
       console.log("There was an error with the authentication:", err.message);
    });
    socket.on('disconnected', function() { alert('Disconnected') });
 });
 </script>

var socket=io.connect('http://bbb.com:3000');
socket.on('connect',function(){
emit('authenticate',{data:“token”});
socket.on('error',function(err){alert(err);
});
socket.on('unauthorized',函数(err){
警报(“断开”);
log(“身份验证出错:”,err.message);
});
on('disconnected',function(){alert('disconnected')});
});
这在live server上适用于我。

使用您的代码:

var express = require('express');
var app = express();
var socket = require('socket.io');
var server = require('http').createServer(app);
server.listen(3000);
var io = socket.listen(server);
socket.io.js路径为:

http://127.0.0.1:3000/socket.io/socket.io.js
您需要使用javascript或php

Javascript: (动态js包括)

var端口=3000;
var script=document.createElement(“脚本”);
script.type=“text/javascript”;
script.src=“http://“+document.location.hostname+”:“+PORT+”/socket.io/socket.io.js”;
script.onerror=函数(){
log(“Socket.io:unfound.”);
};
script.onload=函数(){
log(“Socket.io:loaded.”);
//你的代码在这里。
//startSocketIO();
};
document.getElementsByTagName(“head”)[0].appendChild(脚本);
// 
PHP:
很抱歉迟了回答。它与我的代码本身一起工作。我们只需要在服务器中允许端口3000。将端口号添加到IP表或禁用服务器防火墙,然后它就可以正常工作:)

当您尝试输入socket.io时会发生什么?它是无限加载还是有错误?另外,您是否使用nginx或apache,或者其他什么?每当我使用上面的脚本行时,都找不到socket.io.js。我有一个服务器端jsI got console error token<script> var socket = io.connect('http://bbb.com:3000'); socket.on('connect', function(){ socket.emit('authenticate', {data: "token"}); socket.on('error', function(err){ alert(err); }); socket.on('unauthorized', function(err){ alert("Disconnected"); console.log("There was an error with the authentication:", err.message); }); socket.on('disconnected', function() { alert('Disconnected') }); }); </script>
var express = require('express');
var app = express();
var socket = require('socket.io');
var server = require('http').createServer(app);
server.listen(3000);
var io = socket.listen(server);
var PORT = 3000;
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://" + document.location.hostname + ":" + PORT + "/socket.io/socket.io.js";
script.onerror = function () {
    console.log("Socket.io: unfound.");
};
script.onload = function () {
    console.log("Socket.io: loaded.");
    // Your code here.
    // startSocketIO();
};

document.getElementsByTagName("head")[0].appendChild(script);
// <script type="text/javascript" src="http://127.0.0.1:3000/socket.io/socket.io.js"></script>
<script src="http://<?=$_SERVER["SERVER_NAME"]?>:3000/socket.io/socket.io.js"></script>