Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Net.Sockets;
- using System.Net;
- using System.IO;
- using System.Threading.Tasks;
- using System.IO.Compression;
- namespace ConsoleApplication6
- {
- class Program
- {
- const int port = 11111;
- static byte[] rawData = new byte[1024 * 1024]; // 1 MB of null data
- static void ClientAsSender()
- {
- var targetHost = IPAddress.Loopback;
- TcpClient client = new TcpClient();
- client.Connect(targetHost, port);
- var networkStreamRaw = client.GetStream();
- var networkStreamCompressed = new DeflateStream(networkStreamRaw, CompressionMode.Compress);
- using (client)
- using (networkStreamRaw)
- using (networkStreamCompressed)
- {
- networkStreamCompressed.Write(rawData, 0, rawData.Length);
- Console.WriteLine("{0} bytes of raw-data sent.", rawData.Length);
- }
- }
- static void ServerAsReceiver()
- {
- TcpListener listener = new TcpListener(IPAddress.Loopback, port);
- listener.Start();
- var client = listener.AcceptTcpClient();
- var stream = client.GetStream();
- using (client)
- using (stream)
- {
- var temp = new MemoryStream();
- stream.CopyTo(temp);
- Console.WriteLine("{0} bytes of compressed-data received.", temp.Length);
- }
- listener.Stop();
- }
- static void Main(string[] args)
- {
- var server = Task.Factory.StartNew(ServerAsReceiver);
- var client = Task.Factory.StartNew(ClientAsSender);
- server.Wait();
- Console.WriteLine("press enter to exit . . .");
- Console.ReadLine();
- }
- }
- }
Add Comment
Please, Sign In to add comment