Skip to content

Commit a407004

Browse files
committed
Confirmed that socket.io broadcasts to multiple clients
1 parent 9214a26 commit a407004

1 file changed

Lines changed: 21 additions & 7 deletions

File tree

src/server/_server_test.js

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -150,25 +150,39 @@
150150
server.stop(done);
151151
});
152152

153-
it("broadcasts mouse message from one client to another", function(done) {
153+
it("broadcasts mouse message from one client to all others", function(done) {
154154
var EXPECTED_DATA = "mouse data";
155+
var client1ReceivedMessage = false;
156+
var client2ReceivedMessage = false;
155157

156158
var emitterClient = createSocket();
157-
var receiverClient = createSocket();
159+
var receiverClient1 = createSocket();
160+
var receiverClient2 = createSocket();
158161

159162
emitterClient.on("mouse", function() {
160163
assert.fail("emitter should not receive its own events");
161164
});
162-
receiverClient.on("mouse", function(data) {
163-
assert.equal(data, EXPECTED_DATA);
164-
end();
165+
receiverClient1.on("mouse", function(data) {
166+
assert.equal(data, EXPECTED_DATA, "receiver client 1");
167+
client1ReceivedMessage = true;
168+
tryToEnd();
169+
});
170+
receiverClient2.on("mouse", function(data) {
171+
assert.equal(data, EXPECTED_DATA, "receiver client 2");
172+
client2ReceivedMessage = true;
173+
tryToEnd();
165174
});
166175

167176
emitterClient.emit("mouse", EXPECTED_DATA);
168177

169-
function end() {
178+
179+
function tryToEnd() {
180+
if (!client1ReceivedMessage || !client2ReceivedMessage) return;
181+
170182
closeSocket(emitterClient, function() {
171-
closeSocket(receiverClient, done);
183+
closeSocket(receiverClient1, function() {
184+
closeSocket(receiverClient2, done);
185+
});
172186
});
173187
}
174188
});

0 commit comments

Comments
 (0)