private static void SetListener() { ListenerSite ls = new ListenerSite(); ls.InjectedBehave = (handler) => { SocketPack pack = ls.Recv(handler); if (pack.DataType == "String") { string msg = Encoding.UTF8.GetString(pack.DataBody); Console.WriteLine($"Msg from client: {msg}"); ls.SendStr(handler, "OK"); } else if (pack.DataType == "File") { File.WriteAllBytes($@"C:\(Socket){pack.FileName}", pack.DataBody); ls.SendStr(handler, "File OK"); } else if (pack.DataType == "Files") { foreach (SocketPack subPack in pack.SubPacks) { File.WriteAllBytes($@"C:\(Socket){subPack.FileName}", subPack.DataBody); } ls.SendStr(handler, "Files OK"); } }; _task = Task.Factory.StartNew(() => { ls.Activate("127.0.0.1", 11000); }); }
static void Main(string[] args) { Thread.Sleep(3000); int errorCount = 0; for (int i = 0; i < 100; i++) { try { SenderSite ss = new SenderSite(); Socket sender = ss.Connect("127.0.0.1", 11000); ss.SendStr(sender, "Test"); //ss.SendFile(sender, @"C:\Users\Administrator\Pictures\x.jpg"); //List<string> paths = new List<string> { // @"C:\Users\Administrator\Pictures\x.jpg", // @"C:\Users\Administrator\Pictures\y.jpg" //}; //ss.SendFiles(sender, paths); SocketPack pack = ss.Recv(sender); if (pack.DataType == "String") { string msg = Encoding.UTF8.GetString(pack.DataBody); Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss") } - Msg from Server: {msg}"); } } catch (Exception) { Console.WriteLine($"Error count: {++errorCount}."); } Thread.Sleep(new Random(DateTime.Now.Second).Next(1, 7) * 200); } Console.ReadLine(); }
private void udpSock_DataReceived(object sender, SocketPack socData) { string rcvData = this.udpSock.DecodeBytesToString(socData.dataBuffer); this.rcvTextBox.Text += rcvData + "\r\n"; }