Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C# Чем различаются IEnumerable и IQueryable? https://www.cyberforum.ru/ csharp-beginners/ thread535965.html
Объясните пожалуйста чем различаются IEnumerable и IQueryable?
C# Можно ли считать, классы F1 : C и F2 : B эквивалентными
1) Допустим у нас есть три класса A, B и C 2) Классы F1 и F2 получаются следующим образом: F1 = A : B, F2 = A : C. Можно ли считать, классы F1 : C и F2 : B эквивалентными?
C# Конструктор глубокого копирования https://www.cyberforum.ru/ csharp-beginners/ thread535929.html
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _2._1_C_sh { class Str { public string s;
C# Вывести из массива числа, которые больше среднеарифметической суммы массива https://www.cyberforum.ru/ csharp-beginners/ thread535867.html
Нужно вывести из массива числа, которые больше среднеарифметической суммы массива. int n, summa = 0; double sredniy; //Задаем массив чисел double x = new double; string s; Console.WriteLine("*** Анализ роста учеников ***"); Console.WriteLine();
C# Как определить длину строки в прямоугольном массиве
Собственно сабж!
C# Фоновая музыка MP3 https://www.cyberforum.ru/ csharp-beginners/ thread535829.html
Собственно сабж. wav очень много памяти жрет, как можно сделать фоновую музыку в приложении с помощью mp3 и иже с ними?
C# Написать программу приближенного вычисления интеграла функции f(x) Нужно написать программу приближенного вычисления интеграла функции f(x) = 5x^2 - x 2 методом прямоугольника. Помогите пожалуйста https://www.cyberforum.ru/ csharp-beginners/ thread535754.html Программно авторизоваться на сайте C#
Можете помочь с кодом. Мне нужен код что бы авторизоваться на сайте. Вот сайт telonko.ру (ru) Писал сам код, ко каждый раз разные ошибки
C# Изменение порядка столбцов матрицы https://www.cyberforum.ru/ csharp-beginners/ thread535643.html
Есть такое условие задачи: В матриці n*m відсортувати стовпці в порядку зростання елементів k-го рядка. Матрицу я создала, теперь вопрос как поменять столбики в матрице местами? Скажите пожалуйста, буду огромнейше благодарна)))
C# Реализация прямого метода доступа к записям файла для обработки с использованием хеш-функции https://www.cyberforum.ru/ csharp-beginners/ thread535641.html
Реализовать программу прямого метода доступа к записям в файле для обработки. Файл представляет собой набор данных с прямой организацией (блок - 512 байт) и состоит из записей постоянной длины N байт, максимальное количество записей в файле - M. Ключ каждой записи - набор T символов. Адресом записи является номер блока в файле и смещение в блоке. Тип адресной функции (хеш-функции)...
Получить слово, образованное k-ыми символами каждой строки из файла C#
Дан текстовый файл. Получить слово, образованное k-ыми символами каждой строки. Срочно надо. А то я в этом не шарю((
C# Обновление программы. Проверка версий https://www.cyberforum.ru/ csharp-beginners/ thread535601.html
Вообщем вопрос вот в чем: Есть апдейтер, на сервере хранится фаил version.ini (или*.txt) с номером версии (например 0.2), а в папке с программой такой же фаил только с другим номером(напремер 0.1).Как сверить эти фаилы и при несовпадении версий выдать текст в label на подобии "Требуется обновление"? Уже голову сломал над этим...
17 / 5 / 3
Регистрация: 22.03.2011
Сообщений: 329
0

Клиент-сервер: в консоли работало, а на WinForms зависает намертво - C# - Ответ 2861350

01.04.2012, 17:14. Показов 1766. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Приветы! У меня был исходник клиент-серверной системы, клиент отсылал строку на сервер, а серв возвращал строку только все буквы были верхнего регистра. Я этот код чуть переделал, и сервер смог отсылать свое сообщение, но потом я захотел сделать это в нормальном виде т.к. программы были консольные и общаться можно было только по очереди 1 -Клиент, 2-Сервер. Вроде сделал нормально, без ошибок, но после нажатия на кнопку, которая должна менять интерфейс программы и запускать TcpListener - программа тупо зависает, и даже интерфейс полностью не меняется.
код и ссылка на проект прилагаются (это серверная часть): помогите разобраться в чем проблема плз.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;
 
namespace ServVS10p
{
    public partial class Form1 : Form
    {
       public static Form1 Instance;
        public static string nick;
        public static NetworkStream stream;
        //public static string serv_msg;
        //public static RichTextBox RBmemo = new RichTextBox(); 
 
        public Form1()
        {
            InitializeComponent();
            Instance = this;
        }
 
 
        private void label1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            nick = Bnick.Text;
            label1.Visible = false;
            Bnick.Visible = false;
            button1.Visible = false;
            RBmemo.Location = new Point(12, 12);
            RBmemo.Height = 341;
            RBmemo.Width = 331;
            RBmemo.Visible = true;
            Bmsg.Visible = true;
            Btn_send.Visible = true;
            
            
            TcpListener server = null;
            try
            {
                // Определим нужное максимальное количество потоков
                // Пусть будет по 4 на каждый процессор
                int MaxThreadsCount = Environment.ProcessorCount * 4;
              //  Console.WriteLine(MaxThreadsCount.ToString());
                // Установим максимальное количество рабочих потоков
                ThreadPool.SetMaxThreads(MaxThreadsCount, MaxThreadsCount);
                // Установим минимальное количество рабочих потоков
                ThreadPool.SetMinThreads(2, 2);
 
 
                // Устанавливаем порт для TcpListener = 9595.
                Int32 port = 9595;
                IPAddress localAddr = IPAddress.Any;
                int counter = 0;
                server = new TcpListener(localAddr, port);
 
                // Запускаем TcpListener и начинаем слушать клиентов.
                server.Start();
 
                // Принимаем клиентов в бесконечном цикле.
                while (true)
                {
                    String date = DateTime.Now.ToString("HH:mm:ss");
                    RBmemo.AppendText(date+" Система: Ожидаем подключения...\n");
 
                    // При появлении клиента добавляем в очередь потоков его обработку.
                    ThreadPool.QueueUserWorkItem(ObrabotkaZaprosa, server.AcceptTcpClient());
                    // Выводим информацию о подключении.
                    counter++;
                    Console.Write("\nConnection №" + counter.ToString() + "!");
 
                }
            }
            catch (SocketException ex)
            {
                String date = DateTime.Now.ToString("HH:mm:ss");
                //В случае ошибки, выводим что это за ошибка.
              //  string s = e.ToString();
                RBmemo.AppendText(date+"  SocketException: "+ex.ToString());
            }
           /* finally
            {
                // Останавливаем TcpListener.
                server.Stop();
            }*/
        }
        static void ObrabotkaZaprosa(object client_obj)
        {
            // Буфер для принимаемых данных.
            Byte[] bytes = new Byte[256];
            String data = null;
 
            //Можно раскомментировать Thread.Sleep(1000); 
            //Запустить несколько клиентов
            //и наглядно увидеть как они обрабатываются в очереди. 
            //Thread.Sleep(1000);
 
            TcpClient client = client_obj as TcpClient;
 
            data = null;
 
            // Получаем информацию от клиента
            NetworkStream stream = client.GetStream();
 
            int i;
 
            // Принимаем данные от клиента в цикле пока не дойдём до конца.
            while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
            {
                String date = DateTime.Now.ToString("HH:mm:ss");
                // Преобразуем данные в utf8 string.
                data = System.Text.Encoding.UTF8.GetString(bytes, 0, i);
                Form1.Instance.RBmemo.AppendText(data + "  " + data);
 
                // Преобразуем полученную строку в массив Байт.
                //                byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);
 
                // Отправляем данные обратно клиенту (ответ).
                // stream.Write(msg, 0, msg.Length);
 
            }
        }
        private void Btn_send_Click(object sender, EventArgs e)
        {
            String serv_msg = Bmsg.Text;
            String date = DateTime.Now.ToString("HH:mm:ss");
            RBmemo.AppendText(date + " " + nick + ":  " + serv_msg + "\n");
             // Преобразуем полученную строку в массив Байт.
                byte[] msg = System.Text.Encoding.UTF8.GetBytes(serv_msg);
 
                // Отправляем данные обратно клиенту (ответ).
               stream.Write(msg, 0, msg.Length);
            Bmsg.Clear();
        }
    }   
}


Вернуться к обсуждению:
Клиент-сервер: в консоли работало, а на WinForms зависает намертво C#
Вложения
Тип файла: rar ServVS10p.rar (246.3 Кб, 16 просмотров)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2012, 17:14
Готовые ответы и решения:

Зависает сервер при создании приложения типа клиент/сервер
Зависает сервер при создании приложения типа клиент/сервер using System; using...

Клиент-сервер зависает при старте
Написал клиент-серверное приложение, помогите найти проблему. После старта сервера программа...

Клиент сервер Winsock + SDL. Форма клиента зависает
Проблема клиета: Форма SDL зацикливаеться циклом while и создается менюшка с кнопками и текстом тут...

Клиент-сервер. При нажатии на start, окно зависает
Когда запускаю проект, всё работает норм, но когда нажимаю на start окно перестаёт реагировать на...

1
01.04.2012, 17:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2012, 17:14
Помогаю со студенческими работами здесь

Windows 7 намертво зависает, потом отвисает (зависает физическая память)
Здравствуйте. Есть проблема, ОС переодический внезапно зависает. Чем это вызвано я не понял, но...

Сокеты - Переделать консольный клиент в клиент WinForms
Разбирал примеры клиентов и серверов на си шарп по сокетам. Вот попытался переделать консольный...

Взаимодействие WinCC с Labview 2013, как сервер-клиент, так и клиент-сервер
Здравствуйте. Интересует информация о взаимодействии WinCC с Labview 2013, как сервер-клиент, так и...

Клиент-сервер в консоли: "одноразовая" отправка
Клиент: using System; using System.IO; using System.IO.Pipes; class PipeClient { static...

комп зависает намертво при работе с новым винчестером, после перезагрузки компа зависает при загрузке BIOS
купил новый винчестер. комп стал зависать намертво. при перезагрузке, зависает уже при загрузке на...

Клиент-сервер в один клик!(элемет сервер, клиент)
Вот решил поделиться с вами своей идеей и её реализацией. Всегда написание Сервера и Клиента к...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru