コード例 #1
0
        private void disconnect_button_Click(object sender, EventArgs e)
        {
            UdpClient client = new UdpClient();

            byte[] data = Toolbox.StringToByte(Definitions.DISCONNECTING);
            client.Send(data, data.Length, new IPEndPoint(tcplistener.receivedIP, 45002));

            talking.DisconnectionRequestEvent -= Talking_DisconnectionRequestEvent;
            talking.Stop();
            appstate.isBusy = false;

            tcplistener = new TcpListenerTask();
            tcplistener.Run();

            if (InvokeRequired)
            {
                Invoke(new MethodInvoker(() => {
                    connectedWith_label.Text  = "Nie połączono";
                    disconnect_button.Enabled = false;
                }));
            }
            else
            {
                connectedWith_label.Text  = "Nie połączono";
                disconnect_button.Enabled = false;
            }

            //TODO: skonczyc
        }
コード例 #2
0
        public SelectWindow()
        {
            InitializeComponent();
            guestList = new ObservableCollection <User>();
            guestList.CollectionChanged += GuestList_CollectionChanged;

            appstate = new AppState
            {
                MachineIP = Toolbox.GetMachineIP()
            };
            listener = new ListenerTask();
            listener.Run();
            cleaner = new CleanerTask();
            cleaner.RemovingIdlers += Cleaner_RemovingIdlers;
            cleaner.Run();
            broadcaster = new BroadcastTask();
            tcplistener = new TcpListenerTask();
            tcplistener.ReceivedConnectionEvent += Tcplistener_ReceivedConnectionEvent;
            tcplistener.Run();

            if (Label_Username.Text.Equals(""))
            {
                EnterNameForm form = new EnterNameForm();
                if (form.ShowDialog() == DialogResult.OK)
                {
                    Label_Username.Text      = form.result;
                    appstate.currentUsername = form.result;
                }
                else
                {
                    Application.Exit();
                }
            }
            broadcaster.Run();
            listView_guests.Scrollable = true;
            listView_guests.View       = View.Details;
            listView_guests.Columns.Add(new ColumnHeader {
                Text = "", Name = "col"
            });
            listView_guests.HeaderStyle = ColumnHeaderStyle.None;
            listView_guests.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
        }
コード例 #3
0
        private void Talking_DisconnectionRequestEvent()
        {
            talking.DisconnectionRequestEvent -= Talking_DisconnectionRequestEvent;
            talking.Stop();
            appstate.isBusy = false;

            tcplistener = new TcpListenerTask();
            tcplistener.Run();

            if (InvokeRequired)
            {
                Invoke(new MethodInvoker(() => {
                    connectedWith_label.Text  = "Nie połączono";
                    disconnect_button.Enabled = false;
                }));
            }
            else
            {
                connectedWith_label.Text  = "Nie połączono";
                disconnect_button.Enabled = false;
            }
        }