public List <string> FindAdress() //полусение доступных пользователей в сет { List <string> ipAdresses = new List <string>(); ipAdresses = AvailableConection.ReturnGroupList(); return(ipAdresses); }
static void Dain() { Thread sendThread = new Thread(new ThreadStart(ConnectionV2.SendBroadcastOfferToConnect)); //созадем новый поток отдельно для получения sendThread.IsBackground = true; //sendThread.Start(); // запускаем процесс отправки сообщений Thread DoRequestsRecieveingThread = new Thread(new ThreadStart(RequestInteractivity.DoRequestsRecieveing)); //созадем новый поток отдельно для получения DoRequestsRecieveingThread.IsBackground = true; DoRequestsRecieveingThread.Start();// Запускаем процесс получния запросов AvailableConection available = new AvailableConection(); Thread receiveThread = new Thread(new ParameterizedThreadStart(ConnectionV2.ReciveBroadcastOffer)); receiveThread.IsBackground = true; receiveThread.Start(available); Console.ReadLine(); //var availbCon = AvailableConection.ReturnGroupList(); //for (int i = 0; i < availbCon.Count; i++) //{ // Console.WriteLine($"{i} - {availbCon[i].Item2}"); //} //Console.WriteLine("enter the host number to interact"); //var p = int.Parse(Console.ReadLine()); //var reciverIP = availbCon[p].Item2; var reciverIP = "127.0.0.1"; string pass = "******"; while (true) { var ans = RequestInteractivity.SendRequst(reciverIP, RequestTipe.GetDirectoryFiles, pass); ans = ans.Remove(0, 7); var files = ans.Split('\n'); foreach (var file in files) { Console.WriteLine(file); } string add = ""; add = Console.ReadLine(); if (pass[pass.Length - 1] == '.') { pass = add; } else { if (pass[pass.Length - 1] != '\\') { pass += '\\'; } pass += add; } } }
private void searchingbrn_Click(object sender, RoutedEventArgs e) { if (Status == false) { AvailableConection available = new AvailableConection(); available.onAddIpAdress += Draw;//Подписываемся на событие Thread receiveThread = new Thread(new ParameterizedThreadStart(ConnectionV2.ReciveBroadcastOffer)); receiveThread.IsBackground = true; receiveThread.Start(available); Status = true; } Drawing_picture_for_pc("denis", "192.168.100.100"); }
private void searchingbrn_Click(object sender, RoutedEventArgs e) { if (status_search == false) { AvailableConection available = new AvailableConection(); available.OnAddIpAdress += Draw;//Подписываемся на событие Thread receiveThread = new Thread(new ParameterizedThreadStart(ConnectionV2.ReciveBroadcastOffer)); receiveThread.IsBackground = true; receiveThread.Start(available); status_search = true; } Initializing_PC("denis", "127.0.0.1"); }
public void ReciveBroadcastOffer(object available) { UdpClient listener = new UdpClient(localPort); // для прослушивания сообщений udp приходящих на локальный порт IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, localPort); // адрес приема, для приема всех сообщений try { while (true) { // Console.WriteLine("Waiting for broadcast"); byte[] bytes = listener.Receive(ref groupEP); // получаем сообщение IPParameters recivedPC = new IPParameters(); var name = Encoding.ASCII.GetString(bytes, 0, bytes.Length); recivedPC.SetNameInNetwork(name); recivedPC.SetIpAddress(groupEP.Address); recivedPC.SetBroadcastAddress(CurentPC.ReturnBroadcastAddress()); recivedPC.SetSubnetMask(CurentPC.ReturnSubnetMask()); if (!CurentPC.FindningInformationAboutPCInList(recivedPC))//Обрабатываем сообщения, принимаемые от этого же пк { } } AvailableConection availableConection = (AvailableConection)available; availableConection.AddMember(groupEP.Address, name); } catch (SocketException e) { Console.WriteLine(e); } finally { listener.Close(); } }
private void rounded_Button1_Click(object sender, EventArgs e) { if (Status == false) { AvailableConection available = new AvailableConection(); available.onAddIpAdress += Draw;//Подписываемся на событие Thread receiveThread = new Thread(new ParameterizedThreadStart(ConnectionV2.ReciveBroadcastOffer)); receiveThread.IsBackground = true; receiveThread.Start(available); Status = true; } Drawing_picture_for_pc(this, "hello", "ip"); //PictureBox picture = new PictureBox(); //picture.Image = Properties.Resources.релиз_пк; //picture.Width = flowLayoutPanel1.Height - 30; //picture.Height = flowLayoutPanel1.Height - 30; //picture.SizeMode = PictureBoxSizeMode.Zoom; //flowLayoutPanel1.Controls.Add(picture); }