Cleanup send code in WebSocketConnection

This commit is contained in:
2024-02-21 03:17:11 +01:00
parent 9e1b2fcbae
commit c855fc177f
2 changed files with 46 additions and 7 deletions

16
doc/ConnectionGroups.md Normal file
View File

@ -0,0 +1,16 @@
# ConnectionGroups
Often websocket connections share a context. This could be a room for a chat, an URI for pushing updates, or anything else where one client need to be able to send messages directly or indirectly to other clients. This is the problem that *ConnectionGroups* solve.
A `WebSocketConnection` can, but doesn't have to, be part of a group. The group is set using `WebSocketConnection::setGroup(string $name)` with groups being created and destroyed on the fly. Once part of a group, the other members of the group can be addressed:
```php
$websocket->setGroup("somename");
// Note: use getGroupName() to get the group name
foreach ($websocket->getGroup() as $other) {
$other->write("Hello");
}
```
To remove a group from a connection, call `setGroup(null)`.