Небольшой пример: параметры - это файл, который вы хотите отправить в виде байта [], и словарь с именем клиента и TcpClient в качестве значения.
В этом случае вы отправите файл всем клиентам, ноконечно, вы можете адаптировать его только к одному клиенту.
public static void SendBytesToClients(Byte[] broadcastBytes, Dictionary<string, TcpClient> receiverList)
{
foreach (var client in receiverList)
{
try
{
TcpClient broadcastSocket = (TcpClient)client.Value;
NetworkStream broadcastStream = broadcastSocket.GetStream();
broadcastStream.Write(broadcastBytes, 0, broadcastBytes.Length);
broadcastStream.Flush();
}
catch (Exception ex)
{
Console.WriteLine(ex);
ClientConnector.ClientsList.Remove(client.Key);
}
}
}
Клиент получает сообщение вроде:
private void GetMessage()
{
while (_clientSocket.Connected)
{
_serverStream = _clientSocket.GetStream();
byte[] inStream = new byte[_clientSocket.ReceiveBufferSize];
int buffSize = _clientSocket.ReceiveBufferSize;
_serverStream.Read(inStream, 0, buffSize);
string returndata = System.Text.Encoding.ASCII.GetString(inStream);
if (returndata.StartsWith("$CodeStart"))
{
CompileCode("" + returndata.Replace("$CodeStart", string.Empty));
}
else
{
_readData = "" + returndata;
Msg();
}
}
}
На ваш вопрос я предполагаю, что у вас уже установлен сетевой поток.
Учебное пособие, объясняющее, что именно вы хотите сделать, см. Здесь: http://csharp.net -informations.com / communications / csharp-chat-server-Program.htm