Skip to content

Commit 8821d8e

Browse files
committed
Fix sending messages
1 parent 9850d88 commit 8821d8e

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

api/lib/connection.dart

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,17 @@ class SwampConnection extends NetworkerPipe<Uint8List, RpcNetworkerPacket>
8383
this.e2eePipe,
8484
this.split = kDefaultSwampSplit,
8585
this.flags = const RoomFlags(),
86-
}) : messagePipe = InternalChannelPipe(bytes: 2, channel: kAnyChannel) {
86+
}) : messagePipe = SimpleNetworkerPipe() {
87+
final channelPipe = InternalChannelPipe(bytes: 2, channel: kAnyChannel);
8788
if (e2eePipe != null) {
88-
registerNamedFunction(SwampEvent.message).connect(e2eePipe!);
89+
registerNamedFunction(
90+
SwampEvent.message,
91+
).connect(channelPipe..connect(e2eePipe!..connect(messagePipe)));
92+
} else {
93+
registerNamedFunction(
94+
SwampEvent.message,
95+
).connect(channelPipe..connect(messagePipe));
8996
}
90-
(e2eePipe ?? registerNamedFunction(SwampEvent.message)).connect(
91-
messagePipe,
92-
);
9397
_initFunctions();
9498
}
9599

server/lib/room.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,8 @@ final class SwampRoomManager extends SimpleNetworkerPipe<RpcNetworkerPacket> {
231231
if (room == null) return;
232232
final senderChannel = room.getChannel(sender);
233233
if (senderChannel == null) return;
234+
final receiverPlayer = room.getPlayer(receiver);
235+
if (receiverPlayer == null) return;
234236
final builder = BytesBuilder();
235237
builder.addByte(senderChannel >> 8);
236238
builder.addByte(senderChannel & 0xFF);
@@ -240,7 +242,7 @@ final class SwampRoomManager extends SimpleNetworkerPipe<RpcNetworkerPacket> {
240242
name: SwampEvent.message,
241243
data: bytes,
242244
);
243-
_sendPacketToRoom(room, packet, receiver);
245+
_sendPacketToRoom(room, packet, receiverPlayer);
244246
}
245247

246248
void setApplication(Channel channel, Uint8List? data) {

0 commit comments

Comments
 (0)