Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Spot the bug – misbehaving server

DZone's Guide to

Spot the bug – misbehaving server

· ·
Free Resource
We had a strange issue at work – we had a misbehaving server, who worked perfectly well with one client but had strange issues when several clients connected to it. The server would broadcast a message to all of its clients but only one client would receive that specific message, re-sending the message would fix the problem occasionally but it wasn’t a very consistent behavior.

I’ve managed to find the root of the issue and created a simplified version of the issue. can you spot the bug in the following code?

public class Server
{
public void SendPingToClients(IEnumerable<client> clients)
{
foreach (var client in clients)
{
Task.Factory.StartNew(() => Ping(client));
}
}

public void Ping(Client client)
{
Console.WriteLine("ping sent to client " + client.Id);
}
}

Happy coding!
Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}