无法处理此断开事件,不知道为什么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],但不是
我希望能够快速将对象数组转换为不同的类型,例如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中.