/
IT-Legion
/
NetworkProgramming
Обзор
Документация
Войти
/
IT-Legion
/
NetworkProgramming
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lesson_4/server.cs
65 строк
2 KB
Перевозников Сергей Николаевич
create lesson_4/server.cs
16 янв 2026, 14:49
Верифицирован
16 янв 2026, 14:49
0e8349d
Код
Авторство
О чём код?
using System; using System.Threading; using System.IO; using System.Net.Sockets; using System.Net; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace TCP_1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } TcpListener list; private void button1_Click(object sender, EventArgs e) { try { // создание экземпляра класса TcpListener list = new TcpListener( IPAddress.Parse(textBox1.Text), Convert.ToInt32(textBox2.Text) ); // начало прослушивания клиентов list.Start(); // создание отдельного потока для чтения сообщения Thread thread = new Thread(new ThreadStart(ThreadFun)); thread.IsBackground = true; thread.Start(); } catch (SocketException sockEx) { MessageBox.Show("Ошибка сокета: " + sockEx.Message); } catch (Exception Ex) { MessageBox.Show("Ошибка: " + Ex.Message); } } void ThreadFun() { while (true) { // ожидание поступления запроса от клиента TcpClient cl = list.AcceptTcpClient(); // чтение данных из сети в формате Unicode StreamReader sr = new StreamReader(cl.GetStream(), Encoding.Unicode); string s = sr.ReadLine(); // добавление полученного сообщения в список messageList.Items.Add(s); // завершение работы приложения при сообщении "EXIT" if (s.ToUpper() == "EXIT") { list.Stop(); this.Close(); } } } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { if (list != null) list.Stop(); } } }