Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 33

Серверный движок

31.05.2017, 12:52. Показов 6826. Ответов 80
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет у меня такой вопрос, делаю игру и пишу собственный серверный движок. подскажите в правильном ли я направлении двигаюсь? подойдет ли данный подход для написания своих серверов (чат, авторизация, игровой сервер)?
вот пример кода сервера авторизации который я набросал
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
 
namespace autorization
{
    class Program
    {
        static string log = null;
        static string pas = null;
 
        static void Main(string[] args)
        {
            start_server();
        }
 
        static void start_server()
        {
            // Устанавливаем для сокета локальную конечную точку
            IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8005);
 
            // Создаем сокет Tcp/Ip
            Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            // Назначаем сокет локальной конечной точке и слушаем входящие сокеты
            try
            {
                server.Bind(ipPoint);
                server.Listen(10);
                Console.WriteLine("Сервер запущен.");
                // Начинаем слушать соединения
                while (true)
                {
                    Console.WriteLine("Ожидаем соединение через порт {0}", ipPoint);
                    // Программа приостанавливается, ожидая входящее соединение
                    Socket client = server.Accept();
                    // Мы дождались клиента, пытающегося с нами соединиться
                    byte[] receive = new byte[1024];
                    for (int i = 0; i < receive.Length; i++) { receive[i] = 0; }
                    client.Receive(receive);
 
                    string message = Encoding.UTF8.GetString(receive);
                    //Указываем на конец строки с нужными данными
                    int count = message.IndexOf(";;;5");
                    if (count == -1) { continue; }
                    //Создаем переменную, в которой будет храниться очищенное сообщение
                    string clear_message = "";
                    for (int i = 0; i < count; i++) { clear_message += message[i]; }
                    //Начинаем делить очищенное сообщение на отдельные части
                    string[] split = clear_message.Split(':');
 
                    log = split[0];
                    pas = split[1];
 
                    Console.WriteLine("Подключение клиента: " + "Логин: " + log + " Пароль: " + pas);
 
                    if (log == "admin" && pas == "1234")
                    {
                        Console.WriteLine("Данные успешно подтверждены.");
                        // Отправляем ответ клиенту
                        string msg = "yes" + ";;;5";
                        byte[] send = new byte[1024];
                        send = Encoding.UTF8.GetBytes(msg);
                        client.Send(send);
                    }
                    else
                    {
                        Console.WriteLine("Указанные Логин или Пароль не найдены в Базе Данных.");
                        // Отправляем ответ клиенту
                        string msg = "no" + ";;;5";
                        byte[] send = new byte[1024];
                        send = Encoding.UTF8.GetBytes(msg);
                        client.Send(send);
                    }
 
                    Console.WriteLine("Сервер завершил соединение с клиентом.");
                    client.Shutdown(SocketShutdown.Both);
                    client.Close();
                }
            }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.05.2017, 12:52
Ответы с готовыми решениями:

Серверный процесс
Здравствуйте! При старте программы, я создаю новый серверный процесс ( с помощью класса Process). По нажатию на кнопку я получаю от него...

Реализовать клиент-серверный чат (консольная версия)
Реализовать клиент-серверный чат (консольная версия) со следующими возможностями: • При подключении к серверу клиент получает...

Как переписать программу под серверный вариант
Добрый день. Подскажите как переписать(написать) прогу, чтобы установив ее на сервере, смогли работать клиенты на своих местах и еще чтобы...

80
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 33
17.06.2017, 14:43  [ТС]
Студворк — интернет-сервис помощи студентам
Usaga, замутил я значит вот такую штуку
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public TcpClient ClientTCP;
        public ClientHandler(TcpClient TcpClient) { ClientTCP = TcpClient; }
        public void NetworkClient()
        {
            NetworkStream stream = null;
 
            stream = ClientTCP.GetStream();
            using (var reader = new BinaryReader(stream))
            using (var writer = new BinaryWriter(stream))
            {
                // считываем данные из потока
                string login = reader.ReadString();
                string passw = reader.ReadString();
                string gmail = reader.ReadString();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.06.2017, 14:43

Реализовать клиент серверный проводник для просмотра файлов на компьютере
Нужно реализовать клиент серверный проводник для просмотра файлов на компьютере. Вопрос : как возможно реализовать серверную часть, чтоб...

По нажатию на кнопку данные из input записываются в сессию+серверный редирект на другую страницу
На странице есть input(text) и кнопка. По нажатию на кнопку данные из input записываются в сессию+серверный редирект на другую страницу....

А кто сделал движок этого форума, потому что у многих русскоязычных форумов для программистов и не только движок похожий и кто его создал?
А кто сделал движок этого форума, потому что у многих русскоязычных форумов для программистов и не только движок похожий и кто его создал?

Серверный апгрейд
И так у меня на данный момент 350вт блок питания, материнка Asus P5QL SE S775, проц Dual Core E5200 2.5GHz, видюшка GeForce 9600GT...

серверный шкаф
здравствуйте, посоветуйте серверный шкаф для 2 серверов, 1 tower ш230 х д380 х в450 и HP 2)ш380 х д340х в100 фото серваков прикрепил,


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
81
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru