Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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
Javascript 本地网络上的Socket.io/node.js?_Javascript_Html_Node.js_Socket.io - Fatal编程技术网

Javascript 本地网络上的Socket.io/node.js?

Javascript 本地网络上的Socket.io/node.js?,javascript,html,node.js,socket.io,Javascript,Html,Node.js,Socket.io,我在同一个网络上有两台机器,比如192.168.1.2和192.168.1.3 192.168.1.2=服务器/开发pc 192.168.1.3=客户端/浏览器pc 因此,在服务器/dev pc上,我有一个socket.io/http服务器在端口82上运行 在客户端服务器上,我使用chrome作为浏览器 服务器正在托管一个网页,如 <html> .... <script type="text/javascript" src="http://localhost:82/so

我在同一个网络上有两台机器,比如192.168.1.2和192.168.1.3

192.168.1.2=服务器/开发pc

192.168.1.3=客户端/浏览器pc

因此,在服务器/dev pc上,我有一个socket.io/http服务器在端口82上运行

在客户端服务器上,我使用chrome作为浏览器

服务器正在托管一个网页,如

<html>
....
    <script type="text/javascript" src="http://localhost:82/socket.io/socket.io.js"></script>
....
</html>

....
....
这是socket.io客户端所需的必要资源。因此,资源加载到我的服务器/dev pc上,而不是客户端pc上。因此,我尝试:

<html>
....
    <script type="text/javascript" src="http://192.168.1.2:82/socket.io/socket.io.js"></script>
....
</html>

....
....
现在它在两台电脑上都不工作了。我知道它应该是这样的

<script src="http://<uri:port>/socket.io/socket.io.js"></script>

正如socket.io github上所说的,但我只想在本地网络上进行测试

我也看过

<script type="text/javascript" src="http://cdn.socket.io/stable/socket.io.js"></script>

但是我使用的是socket.io 0.8.4,所以上面的版本不起作用

那么,如何在本地网络环境中获得为客户端提供的socket.io资源呢?或者你们知道有一个网站提供我可以使用的socket.io的0.8.4版本吗

注意:没有防火墙问题。

更换


如果您使用同一主机的不同端口为socket.io提供服务,您可以尝试使用

document.write('\x3C/script>)


这看起来像是一个黑客攻击,但它可以工作,只需将9998替换为您为socket.io提供服务的端口。

尝试让socket.io自动连接

var socket = io.connect();
这对我很有用。

对于索引:

    <script src="/socket.io/socket.io.js"></script>

这对我有用

只有当客户机和服务器都在同一台机器上时,这种方法才有效。PLZ read以及这个答案是谁给出的?你真的试过了吗?因为这个答案在我看来是正确的。如果仍然不起作用,请检查Chrome开发者工具的网络或控制台选项卡,查看是什么导致脚本请求失败。这个答案不起作用。请阅读github.com/LearnBoost/Socket.IO/wiki/How-do-I-service-the-client,我的机器在同一个网络上,但是不同的机器,以上仅适用于“如果您的web应用程序和Socket.IO位于同一服务器和端口上”,它在您链接的同一页面中这样说:“如果您的web应用程序和socket.io位于同一服务器和端口上,您只需包含:
socket.io.js将只作为您的应用程序运行的同一台机器上的服务器,而不管您使用哪台机器访问它。@Marcel M.你在说什么?它们一直在在线聊天应用程序上使用,我的意思是使用
localhost
只在服务器和客户端是同一台机器时才起作用,而不管是哪台机器port@MarcelM. 我意识到,这就是它不起作用的原因,这就是为什么我要求人们提供一种在本地网络上运行socket.io的方法。您收到了什么错误消息?服务器上的web根目录中是否存在“/socket.io/socket.io.js”?
var socket = io.connect('http://192.168.1.3:82', {'forceNew': true});