Exemple #1
0
        private void _tcpmoduleClient_Receive(object sender, ReceiveEventArgs e)
        {
            if (e.SendInfo.Message != null)
            {
                _tcpmoduleClient_ShowStatusMessage(string.Format("Получен публичный ключ сервера:{0}", e.SendInfo.Message));
                //получаем паблик от сервера и формируем свой секретный ключ и можем передавать файлы
                _tcpmoduleClient.DiffieHellman.CreateSecretKey(e.SendInfo.Message);
                //теперь идем по списку файлов и передаем их
                var t         = new Thread(_tcpmoduleClient.SendMultipleFiles);
                var fileslist = (from object item in listBoxFilesToSend.Items select item.ToString()).ToList();
                t.Start(fileslist);
            }

            if (e.SendInfo.Filesize > 0)
            {
                //ShowReceiveMessage("Файл: " + e.sendInfo.filename);
                _tcpmoduleClient_ShowStatusMessage("Файл: " + e.SendInfo.Filename);
            }
        }
Exemple #2
0
        private void _tcpmoduleServer_Receive(object sender, ReceiveEventArgs e)
        {
            if (e.SendInfo.Message != null)
            {
                //сервер получил клиентский паблик в ответ формируем свой и отправляем клиенту
                _tcpmoduleServer.DiffieHellman = new DiffieHellmanWorker();
                //отсылаем второму участнику
                _tcpmoduleServer.IsCrypt = true;
                var t     = new Thread(_tcpmoduleServer.SendData);
                var param = new SendDataParam
                {
                    Message = Convert.ToBase64String(_tcpmoduleServer.DiffieHellman.PublicKey)
                };
                t.Start(param);
                //и формируем свой секретный ключ
                _tcpmoduleServer.DiffieHellman.CreateSecretKey(e.SendInfo.Message);
                _tcpmoduleServer_ShowStatusMessage(string.Format("Получен публичный ключ клиента:{0}", e.SendInfo.Message));
            }

            if (e.SendInfo.Filesize > 0)
            {
                _tcpmoduleServer_ShowStatusMessage("Файл: " + e.SendInfo.Filename);
            }
        }