public void HandleConnection()
        {
            try
            {
                /* функция AcceptTcpClient() блокирующий,
                 * поэтому надо исполнять код в блоке try-catch! */
                TcpClient     client = serverCopy.AcceptTcpClient();
                NetworkStream ns     = client.GetStream();
                connections++;

                recv = ns.Read(data, 0, data.Length);
                ns.Write(data, 0, recv);
                ns.Flush();

                ns.Close();
                client.Close();

                string info = Encoding.Default.GetString(data, 0, recv);

                string index   = " " + connections.ToString() + ".";
                string time    = DateTime.Now.ToString();
                string orderId = DateTime.Now.Ticks.ToString() + ".doc";

                TcpFileHandler fh = new TcpFileHandler();
                fh.CreateOrderFile(orderId, info);
                string fullOrderInfo = index + "\t\t" +
                                       time + "\t\t" + orderId;
                fh.ListBoxAddItem(fullOrderInfo);
            }
            catch (SocketException)
            {
                /* алт.: ничего не предпринимать */
                return;
            }
        }
Esempio n. 2
0
        public Form1()
        {
            InitializeComponent();
            this.SizeChanged += new EventHandler(Form1_SizeChanged);
            // передать "оригинальный" listBox1 объект
            TcpFileHandler.SetControls(listBox1);
            fh.GetFolderForOrders();
            folderBrowserDialog1.Description = @"Создать/Изменить папку для хранения файлов заказов
*При изменении папки все файлы будут копированы в новую папку. Старая не будет удалена в целях безопасности.";
        }
Esempio n. 3
0
 private void StarTcpServer_Click(object sender, EventArgs e)
 {
     if (TcpFileHandler.actualFolder == null)
     {
         MessageBox.Show(@"Папка для хранения файлов заказов не обнаружена. Пожалуйста, создайте новую!");
         while (true)
         {
             DialogResult res = folderBrowserDialog1.ShowDialog();
             if (res == DialogResult.OK)
             {
                 /* создать файл для хранения настроек,
                  * если нет ни одной */
                 TcpFileHandler.CreateOrAlterFolderForOrders(
                     folderBrowserDialog1);
                 fh.GetFolderForOrders();
                 break;
             }
             else if (res == DialogResult.Cancel)
             {
                 MessageBox.Show(@"Вы ещё не создали папку для хранения файлов заказов. Чтобы начать работу, пожалуйста, создайте одну!");
                 break;
             }
         }
     }
     else
     {
         if (Directory.Exists(TcpFileHandler.actualFolder))
         {
             // и только потом, запускать сервер
             if (!PizzeriaTcpServer.serviceOn)
             {
                 service.StartTcpServer();
             }
             else
             {
                 MessageBox.Show("Сервер уже запущен!");
             }
         }
         else
         {
             MessageBox.Show(@"Папка для хранения файлов заказов не обнаружена. Она либо была удалена вручную, или перенесена в другое место! Создайте новую папку чтобы начать работу.");
         }
     }
 }
Esempio n. 4
0
 private void openOrAlterFolderToolStripMenuItem_Click(
     object sender, EventArgs e)
 {
     if (!PizzeriaTcpServer.serviceOn)
     {
         if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
         {
             TcpFileHandler.CreateOrAlterFolderForOrders(
                 folderBrowserDialog1);
             // перезаписать файл для хранения настроек
             TcpFileHandler.SetSettingsFile(folderBrowserDialog1);
             fh.GetFolderForOrders();
         }
     }
     else
     {
         MessageBox.Show("Сначала отключите соединение!");
     }
 }