Проблема с tcp-сервером c#

194
17 ноября 2019, 05:30

При создании экземпляра класса InputUserInfoForm сервер принимает соединение, хотя в данном классе нет ничего для соединения с ним. Уже час ищу ошибку, не могу понять в чём проблема. Вот код класса InputUserInfoForm:

using System;
using System.Windows.Forms;
namespace TextEditorClient
{
    public partial class InputUserInfoForm : Form
    {
        private string fileName = "";
        private int fileNameLength = 0;
        public InputUserInfoForm(int fnl)
        {
            fileNameLength = fnl;
            InitializeComponent();
            comboBox1.Items.Add("Писатель");
            comboBox1.Items.Add("Обозреватель");
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.OK;
            fileName = textBox1.Text;
            this.Close();
        }
        public int CheckFileName()
        {
            fileName = textBox1.Text;
            if (fileName == "")
            {
                MessageBox.Show("Имя файла не может быть пустым.", "Ошибка!");
                return 1;
            }
            if (fileName.Length >= fileNameLength)
            {
                MessageBox.Show("Максимальная длина имени файла 50 символов.", "Ошибка!");
                return 1;
            }
            return 0;
        }
    }
}

Код сервера:

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace TextEditorServer
{
    class Program
    {
        static int port = 8888;
        static TcpListener server;
        private static void Main()
        {
            try
            {
                IPAddress localAddr = IPAddress.Parse("127.0.0.1");
                server = new TcpListener(localAddr, port);
                server.Start();
                while (true)
                {
                    Console.WriteLine("Waiting for a connection... ");
                    TcpClient clientConnection = server.AcceptTcpClient();
                    Console.WriteLine("Connected!");
                    ClientClass newClient = new ClientClass(clientConnection);
                    Thread newClientThread = new Thread(new ThreadStart(newClient.Process));
                    newClientThread.Start();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (server != null)
                    server.Stop();
            }
        }
    }
}
Answer 1

Проблема решена. Дело было в том, что при подключении клиента к серверу, сервер сразу начинает работу, хотя данные от клиента ещё не поступили.

READ ALSO
Не могу понять как правильно писать Xpath функции

Не могу понять как правильно писать Xpath функции

Мне нужно запарсить сайт с помощью HtmlAgilityPack На сайте есть ссылки и у всех такой класс: class="css-ytumd6 e1j8zk4s1" Я не могу разобраться как правильно...

217
Почему wordpress не выводит ссылку и заголовок?

Почему wordpress не выводит ссылку и заголовок?

Имеется вот такой кодПолучает добавленные страницы

183
Выполнять каждые 30 дней

Выполнять каждые 30 дней

Нужно сделать запуск скрипта каждые 30 дней (или каждый месяц) от определенной датыДаты берутся из бд, их много и они разные

181
Хранение данных в session или cookies

Хранение данных в session или cookies

При авторизации я записываю логин в сессиюУ меня в БД есть столбец с числами от 0 включительно

171