Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
socketio javascript混乱_Javascript_Variables_Socket.io - Fatal编程技术网

socketio javascript混乱

socketio javascript混乱,javascript,variables,socket.io,Javascript,Variables,Socket.io,我已经看到了一些socket.io.js的示例。 在客户端,创建连接的调用总是 var socket = io.connect(); 但是,这只是创建一个指向函数的点。 没有另一个线路调用套接字,这怎么就足够了? 这不仅仅是一个变量声明吗?在客户端上调用io.connect(),而不使用任何参数返回表示连接的套接字对象。既然是在客户机上,你不必做任何像 io.on('connection', function (socket) { // do stuff with socket });

我已经看到了一些socket.io.js的示例。 在客户端,创建连接的调用总是

  var socket = io.connect();
但是,这只是创建一个指向函数的点。 没有另一个线路调用套接字,这怎么就足够了? 这不仅仅是一个变量声明吗?

在客户端上调用
io.connect()
,而不使用任何参数返回表示连接的套接字对象。既然是在客户机上,你不必做任何像

io.on('connection', function (socket) {
  // do stuff with socket
});
…就像你在服务器上做的那样。服务器希望有许多客户端连接到它,但客户端只连接到一台服务器。论客户

var socket = io.connect();
…足够了。您还可以将选项传递给
io.connect()
,例如要连接到的其他URL

var socket = io.connect('/my/socket/server/endpoint');

在socket中,客户端和服务器之间的消息传递似乎是唯一的一种方式。客户端不需要调用服务器。然而,其他一切都需要一个电话。背景中有隐藏的呼叫吗?你是什么意思?这不是单向的
io.connect()
是对的调用。它连接到socket.io服务器并创建一个表示连接的
socket
。然后,您可以将事件处理程序附加到
socket
以侦听来自服务器的消息(
socket.on('myEvent',function(data){/*do stuff*/});
),或者您可以在
socket
上发出事件以向服务器发送数据(
socket.emit('stuff',data);
)。我不明白你所说的单向..是什么意思,在一行中,没有其他任何东西-var socket=io.connect();这只是声明了一个变量,实际上并没有触发“connect()”函数,是吗。也就是说,我认为javascript中函数的变量声明只是指向函数的指针,而不是函数的初始化。它触发到套接字服务器的连接。这很有意义。谢谢亚历克斯!