您好我的服务器上有一个计数器,显示有多少人已连接。因此,每当用户连接时,我都希望向他发送用户数量。问题是,当用户连接时,他发送套接字并且服务器接收它。但是当服务器发送具有用户数量的套接字时,客户端不会收到此信息。
当我使用socket.broadcast.emit时,我遇到了这个问题。如果我使用socket.emit,我会收到它。
Server.js
socket.on('update', function () {
console.log('Update', users)
socket.broadcast.emit('user',users) //Doesn't work
socket.emit('user', users) // Works
})
Index.js
$(document).ready(function() {
var users = 0
var socket = io()
.
.
.
socket.on('user', changeUsers)
socket.emit('update');
.
.
.
答案 0 :(得分:0)
因此连接用户不会收到广播。
来自socket.io docs 的
这可能有助于明确:
Socket.IO允许您发出和接收自定义事件。除了connect,message和disconnect之外,您还可以发出自定义事件:
服务器:
public static class GameObjectExtensions {
public static void ObjectLoop<T>(this GameObject value, int uBound, IList<T> list, T item) where T : UnityEngine.Component {
for (int x = 0; x < uBound; x++) {
list.Add(GameObject.Instantiate(item) as T);
list[x].transform.SetParent(value.transform);
list[x].gameObject.SetActive(false);
}
}
}