小编Na7*_*ter的帖子

Socket.IO处理断开事件

无法处理此断开事件,不知道为什么socket不发送给客户端/客户端没有响应!

服务器

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

  socket.on('NewPlayer', function(data1) {

    online = online + 1;
    console.log('Online players : ' + online);
    console.log('New player connected : ' + data1);
    Players[data1] = data1;
    console.log(Players);

  });

  socket.on('DelPlayer', function(data) {

    delete Players[data];
    console.log(Players);
    console.log('Adios' + data);

  });

  socket.on('disconnect', function () {

      socket.emit('disconnected');
      online = online - 1;

  });

});
Run Code Online (Sandbox Code Playgroud)

客户

 var socket = io.connect('http://localhost');

    socket.on('connect', function () { 

        person_name = prompt("Welcome. Please enter your name");

        socket.emit('NewPlayer', person_name);

        socket.on('disconnected', function() {

            socket.emit('DelPlayer', person_name);

        });

    });
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,当客户端断开连接时,应该删除数组对象[person_name],但不是

javascript disconnect socket.io

78
推荐指数
3
解决办法
15万
查看次数

在C#中将对象数组转换为另一种类型的简单方法

我希望能够快速将对象数组转换为不同的类型,例如String,但以下代码不起作用:

String[] a = new String[2];
a[0] = "Hello";
a[1] = "World";
ArrayList b = new ArrayList(a);
String[] c = (String[]) b.ToArray();
Run Code Online (Sandbox Code Playgroud)

我不想这样做:

String[] a = new String[2];
a[0] = "Hello";
a[1] = "World";
ArrayList b = new ArrayList(a);
Object[] temp = b.ToArray();
String[] c = new String[temp.Length];
for(int i=0;i<temp.Length;i++)
{
    c[i] = (String) temp[i];
}
Run Code Online (Sandbox Code Playgroud)

有没有使用临时变量的简单方法?编辑:顺便说一句,这是在ASP.NET中.

c# arrays

1
推荐指数
1
解决办法
412
查看次数

标签 统计

arrays ×1

c# ×1

disconnect ×1

javascript ×1

socket.io ×1