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

时间:2015-08-06 00:07:44

标签: javascript node.js sockets canvas

我不知道何时应该在“客户端的套接字会话”中存储内容。在下面的snippet中,我们使用socket.username。我已经看到其他代码使用socket.id并且我认为它获得了socket的id。是否有要在此套接字对象上使用的属性列表。现在我认为socket是一个对象,我们可以使用点方法(运算符)添加一个新属性,在这种情况下,make up属性是username,对象是socket。我们从客户端脚本中获取socket.emit('add user', $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;

因为我不确定如何使用这个socket?对象?我不确定我是否需要将它用于我想要制作的这个小游戏。基本上客户端上有一个画布,它分为4个象限,如果player1点击“右上角”,则客户端(player1)右侧象限和玩家2画布被填充。并且玩家来回点击象限填满画布  我通过执行类似

的操作来获取象限信息
        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"
            }

        }

我是否需要在index.js文件中执行socket.player之类的操作? 如果是这样我将如何做呢

会跟踪哪个玩家点击象限吗?

写完上面的内容后,我再次查看了代码,我看到了

io.on('connection', function (socket) {

这是否意味着当来自服务器(模块)的socke.io代码听到connetion事件时,我们会做一些具有套接字对象的回调?现在我们可以用套接字对象做点什么了吗?

抱歉,这太久了。只是想学习如何使用这个套接字的东西。

1 个答案:

答案 0 :(得分:0)

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

您最常使用的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对象的完整文档,请参阅:https://github.com/socketio/socket.io#socket

或:https://github.com/socketio/socket.io#socket