BrandonPotter / SimpleTCP

Straightforward .NET library to handle the repetitive tasks of spinning up and working with TCP sockets (client and server).
Apache License 2.0
363 stars 108 forks source link

targeting a specific client with a message #70

Open twhalen08 opened 3 years ago

twhalen08 commented 3 years ago

I want to send a message to a specific client. I believe this is possible by adding another method to SimpleTCPServer.CS similar to...

public void Broadcast(byte[] data) { foreach(var client in _listeners.SelectMany(x => x.ConnectedClients)) { client.GetStream().Write(data, 0, data.Length); } }

but I am getting hung up on the lambda expression. Any chance anyone can help me out? I believe i could have a method like this that also takes in an IP address and port and then in the lambda area there, I would think you could select only the specific client from the dictionary that you want and send a message to that specific client.

Any help here would be super appreciated.

Mariapori commented 3 years ago

client.Send(); ?

DaniEina commented 1 year ago

the same problem. I need to send to a specific client

lwshowl commented 1 year ago

you can save the TCPClient instances given by Server_ClientConnected then you can do synchornized read write like a normal socket you can also compare the TCPClient given by Message.TCPClient , then decide which to write depending on the client