Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/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
Javascript 何时使用socket.id和socket.username。这个套接字对象是什么?_Javascript_Node.js_Sockets_Canvas - Fatal编程技术网

Javascript 何时使用socket.id和socket.username。这个套接字对象是什么?

Javascript 何时使用socket.id和socket.username。这个套接字对象是什么?,javascript,node.js,sockets,canvas,Javascript,Node.js,Sockets,Canvas,我不知道什么时候应该在“客户端套接字会话”中存储一些内容。在下面的示例中,我们使用socket.username。我见过其他使用socket.id的代码,我认为它可以获取socket的id。是否有要在此套接字对象上使用的属性列表。现在我认为,socket是一个对象,我们可以使用点方法(操作符)添加一个新属性,在这种情况下,组合属性是username,对象是socket。我们从socket.emit('adduser',$usernameInput.val().trim())获取用户名来自客户端脚

我不知道什么时候应该在“客户端套接字会话”中存储一些内容。在下面的示例中,我们使用socket.username。我见过其他使用socket.id的代码,我认为它可以获取socket的id。是否有要在此套接字对象上使用的属性列表。现在我认为,
socket
是一个对象,我们可以使用点方法(操作符)添加一个新属性,在这种情况下,组合属性是username,对象是socket。我们从socket.emit('adduser',$usernameInput.val().trim())获取用户名来自客户端脚本

socket.on('add user', function (username) {
// we store the username in the socket session for this client
socket.username = username;
// add the client's username to the global list
usernames[username] = username;
因为我不知道如何使用这个套接字?对象?我不确定我是否需要用它来做这个小游戏。基本上,客户端上有一个画布,它被分成4个象限,如果player1单击“右上角”,客户端(player1)和player2画布上的右上角象限将被填充。玩家来回点击象限填充画布 我通过如下操作获得象限信息

        function checkCoord(left,top, right, bottom){
            //x and y are retreived on mousemove
            if(x < right && y < bottom){
                return "topLeft"
            }
             if( x > left && y <bottom ){
                return "top right"
            }

        }
功能检查坐标(左、上、右、下){
//x和y在mousemove上检索
如果(x<右侧和y<底部){
返回“左上角”
}

if(x>left&&y
socket
是传递给服务器接收到的每个连接的套接字对象。它类似于httpServer中的对象,因为它为您提供了一个接口来处理网络连接/请求

最常用的
socket
对象的两种主要方法是:

socket.on(message_name, callback)
  // used to listen to messages from clients

socket.emit(message_name, anything)
  // used to send strings, numbers, objects or arrays to the client
有关
套接字
对象的完整文档,请参阅:


或者:

socket
是传递给服务器接收到的每个连接的套接字对象。它类似于httpServer中的对象,因为它为您提供了一个接口来处理网络连接/请求

最常用的
socket
对象的两种主要方法是:

socket.on(message_name, callback)
  // used to listen to messages from clients

socket.emit(message_name, anything)
  // used to send strings, numbers, objects or arrays to the client
有关
套接字
对象的完整文档,请参阅:


或者:

谢谢你的回答。我一直在使用io.emit()和socket.on()。我听说io适合向聊天室中的每个人广播。为什么我应该使用
socket.emit
而不是
io.emit
?哪一个更好?我的连接看起来像
io.on(“连接”),函数(socket){
如果你想广播,请使用
io.emit
。如果你不想广播,请使用
socket.emit
。该套接字只连接到一个客户端。在你正在运行的应用程序中,会有很多
socket
,每个都是在调用
io.on('connection')时创建的已调用。
。感谢您的回复。广播和发送之间有什么区别。在回答中,您的代码示例说使用
socket.emit()
“发送字符串、数字等…”但是在你上次的评论中,你说如果你不想广播,就使用socket.emit。我认为发送数据和广播是一样的。谢谢你的帮助。broadcast=send to everybody,send=send。谢谢你的回答。我仍然不确定如何从特定的套接字获取信息。我还有一个问题,你可以看看,还有一个问题请回答并帮助我理解。谢谢你的回答。我一直在使用io.emit()和socket.on()。我听说io适合向聊天室中的每个人广播。为什么我应该使用
socket.emit
而不是
io.emit
?哪一个更好?我的连接看起来像
io.on(“连接”),函数(socket){
如果你想广播,请使用
io.emit
。如果你不想广播,请使用
socket.emit
。该套接字只连接到一个客户端。在你正在运行的应用程序中,会有很多
socket
,每个都是在调用
io.on('connection')时创建的已调用。
。感谢您的回复。广播和发送之间有什么区别。在回答中,您的代码示例说使用
socket.emit()
“发送字符串、数字等…”但是在你上次的评论中,你说如果你不想广播,就使用socket.emit。我认为发送数据和广播是一样的。谢谢你的帮助。broadcast=send to everybody,send=send。谢谢你的回答。我仍然不确定如何从特定的套接字获取信息。我还有一个问题,你可以看看,还有一个问题请尝试帮助我理解。谢谢