public override void Send(FileMessage fileMessage) { var udpClient = new UdpClient(); udpClient.Connect(this.ServerName, this.ServerPort); try { var message = fileMessage.ToByteArray(); udpClient.Send(message, message.Length); this.Results.BytesSent = message.Length; this.Results.NumberOfMessages = 1; var RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, ServerPort); var receiveBytes = udpClient.Receive(ref RemoteIpEndPoint); var returnData = Encoding.ASCII.GetString(receiveBytes); Console.WriteLine(this.GetResultsMessage); Console.WriteLine($"Message from server: {returnData}"); udpClient.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
public override void Send(FileMessage fileMessage) { var tcpClient = new TcpClient(this.ServerName, this.ServerPort); var stream = tcpClient.GetStream(); var fileMessageByteArray = fileMessage.ToByteArray(); var packages = fileMessageByteArray.Split(this.MaxMessageSize); var messageSize = BitConverter.GetBytes(fileMessageByteArray.Length); stream.Write(messageSize, 0, messageSize.Length); foreach (var package in packages) { stream.Write(package, 0, package.Length); this.Results.NumberOfMessages++; this.Results.BytesSent += package.Length; } stream.Close(); tcpClient.Close(); Console.WriteLine(this.GetResultsMessage); }