Ejemplo n.º 1
0
        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);
        }