Node.js 客户端上的Socket.IO

Node.js 客户端上的Socket.IO,node.js,express,socket.io,Node.js,Express,Socket.io,我正在创建一个nodejs+express+socket.io服务器 我还通过yeoman为我的前端应用程序创建了一个脚手架 socket.io服务器位于端口3000上,my yeoman scaffold http服务器位于端口9000上 我已使用从socket.io服务器检索socket.io.js <script type="text/javascript" src="http://localhost:3000/socket.io/socket.io.js"></scri

我正在创建一个nodejs+express+socket.io服务器

我还通过yeoman为我的前端应用程序创建了一个脚手架

socket.io服务器位于端口3000上,my yeoman scaffold http服务器位于端口9000上

我已使用从socket.io服务器检索socket.io.js

<script type="text/javascript" src="http://localhost:3000/socket.io/socket.io.js"></script>
为什么socket.io.js在端口9000上进行轮询?
此外,如何更改此选项,使其改为在3000上进行轮询?

socket.io客户端使用option URL参数。如果未指定,它将使用当前文档源进行连接。这意味着如果HTML文档的URL是http://localhost:9000,然后它将连接到http://localhost:9000. 在连接时指定它:

var socket = io('http://localhost:3000');
而不是

var socket = io();

好的,我通过将socket.io的url作为参数传递给io函数解决了这个问题


var socket=io'http://localhost:3000';

除去http://localhost:3000 从脚本来看,我高度怀疑这不是问题所在。如果我删除它,则无法从socket.io服务器获取客户端脚本。您有客户端问题。您可以使用以下命令创建自己的套接字连接:var socket=new io.socket;插座,连接'http://127.0.0.1:3000';@亚历山德:我已经弄明白了。谢谢,伙计!
var socket = io();