public void run()
        {
            running = true;

            while (running)
            {
                try
                {
                    IPEndPoint RemoteIPEndPoint = new IPEndPoint(IPAddress.Any, 1138);
                    Byte[]     receiveBytes     = udpClient.Receive(ref RemoteIPEndPoint);

                    HomeTransferServerData data = HomeTransferServerData.createFromUDP(receiveBytes);
                    if (data.type.Equals("close"))
                    {
                        HomeTransferModel.getInstance().removeServer(data);
                    }
                    else
                    {
                        HomeTransferModel.getInstance().addServer(data);
                        if (data.type.Equals("discover"))
                        {
                            HomeTransferController.getInstance().broadcastUDP("response");
                        }
                    }
                    HomeTransferController.getInstance().updateObserver();
                }
                catch (Exception e)
                {
                    Console.WriteLine("UDP listening finished.");
                }
            }
        }
Beispiel #2
0
        public static void sendFiles(String server, String[] files)
        {
            // TODO: Get the selected remote instance's IP and start a sender thread
            String[] str = server.Split('@');
            String   IP  = str[1];
            HomeTransferServerData data   = HomeTransferModel.getInstance().getServerData(IP);
            HomeTransferClient     sender = new HomeTransferClient(data.IP, data.port, files);
            Thread senderThread           = new Thread(new ThreadStart(sender.run));

            senderThread.Start();
        }
        public static void broadcastPackage(String tag)
        {
            HomeTransferModel      model = HomeTransferModel.getInstance();
            HomeTransferServerData local = model.getLocalHomeTransferData();

            UdpClient udpClient = new UdpClient();

            udpClient.Connect("255.255.255.255", 1138);
            Byte[] senddata = Encoding.ASCII.GetBytes(local.name + ";" + local.IP + ";" + local.port + ";" + tag);
            udpClient.Send(senddata, senddata.Length);
        }
Beispiel #4
0
        public Form1()
        {
            InitializeComponent();
            form1 = this;
            HomeTransferServerData local = HomeTransferModel.getInstance().getLocalHomeTransferData();

            this.Text = local.name + "@" + local.IP;
            this.listBox1.AllowDrop  = true;
            this.listBox1.DragDrop  += listBox1_DragDrop;
            this.listBox1.DragEnter += listBox1_DragEnter;
        }