Форум программистов, компьютерный форум CyberForum.ru

Сеть и очередь структур - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Получение времени года по введенному пользователем месяцу http://www.cyberforum.ru/cpp-beginners/thread163203.html
Решить с помощью оператора Case. Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение "Ошибка ввода данных". Ниже представлен рекомендуемый вид экрана во время работы программы.Введите номер месяца (число от 1 до 12) и нажмите <Enter> -> 11.
C++ Динамической вектор Створить параметризований тип, динамической вектор.Реализировать функциї: додаванние и удаление елементов, поиск максимального за сер. оценками, сортировка за фамилиеи. ===================== Клас студент Поля: фамилия, факультет, середня оценка. Удалить тех студентов, сер.оценка которих ниже как 3!! ===================== Проблема с вектором http://www.cyberforum.ru/cpp-beginners/thread163197.html
C++ Как получить левую часть строки?
С попощю такого куска кода я получу результат: erty , тоесть правая часть строки qwerty, а как мне получить левую часть строки например qwer? Спасибо! void main() { char buf="qwerty"; char str; memcpy(str,buf+2,sizeof(str)); printf("%s\n",str); }
От значений элементов каждой строки двумерного массива вычесть значение минимального элемента этой строки C++
От значений элементов каждой строки двумерного массива вычесть значение минимального элемента этой строки.
C++ Оригинальная идея для курсовой http://www.cyberforum.ru/cpp-beginners/thread163135.html
Прошу помочь подсказать оригинальную идею для проекта. Огромную важность играет, чтобы проект в дальнейшем смог распостраняться бесплатно и смог помочь людям или организациям. Данный проет будет реализовываться в группе на языке Qt. Сложность проекта нас не пугает. Если данный топик разместил в не том разделе, то прошу меня извинить. Заранее спасибо.
C++ Общий делитель для двух натуральных чисел найти наименьший общий делитель для двух натуральных чисел подробнее

Показать сообщение отдельно
Tilk
0 / 0 / 0
Регистрация: 13.03.2010
Сообщений: 79
03.09.2010, 21:03  [ТС]     Сеть и очередь структур
Сервер:
Это в бесконечном цикле:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        for (int i = (int)List.size()-1; i >= 0; i--)
        if (FD_ISSET(List[i].sc, &readset))
        {
                if (recv(List[i].sc, buf, 16, 0) > 0) //!
                {
                    clients++;
                    int com[4];
                    memcpy(com,buf,4*sizeof(int));
                    if(com[1] == -1)
                        com[1] = i;
                    ProcessMessage(i, com[0], com[1], com[2], com[3]);
                    SendMessage(i, com[0], com[1], com[2], com[3]);
                }
                else
                {
                    closesocket(List[i].sc);
                    List.erase(List.begin()+i);
                };  
        };
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void SendMessage(int client_id, int arg0, int arg1, int arg2, int arg3)
{
    int arg[4];
 
    arg[0] = arg0;
    arg[1] = arg1;
    arg[2] = arg2;
    arg[3] = arg3;
 
    char sbuf[4];
    memcpy(sbuf,arg,4*sizeof(int));
    send(List[client_id].sc, sbuf, 16, 0);
}
C++
1
2
3
4
5
6
7
8
9
10
11
void ProcessMessage(int client_id, int arg0, int arg1, int arg2, int arg3)
{
    if(arg0 == -1)
        arg0 = client_id;
 
    if(arg1 == 2)
    {
        cout << "Received: " << arg0 << " " << arg1 << " " << arg2 << " " << arg3 << "\n";
        SendMessage(client_id, arg0, arg1, arg2, arg3);
    }
}

Клиент:
Бесконечный цикл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void L_Net::NetMain()
{
    while (1)
    {
        if (recv(Sock, buf, 16, 0) > 0)
        {
            int rcom[4];
            memcpy(rcom,buf,4*sizeof(int));
            ProcessMessage(rcom[0], rcom[1], rcom[2], rcom[3]);
        }
    };
    closesocket (Sock);
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void L_Net::ProcessMessage(int arg0, int arg1, int arg2, int arg3)
{
    message newmessage;
    newmessage.arg[0] = arg0;
    newmessage.arg[1] = arg1;
    newmessage.arg[2] = arg2;
    newmessage.arg[3] = arg3;
 
    commands.push(newmessage);
    client_id = arg0;
    lasttx = arg2;
    lastty = arg3;
}
Про boost.asio насылшан... это С++ библиотека? Использование сторонних библиотек меня останавливает по двум причинам:

1 - не хочется использовать код, который не понимаю
2 - боюсь падения производительности, т.к. чужой код мне как-то сложнее понимать, а следовательно неясно, что оптимизировать.

Что по этим пунктам можно сказать о boost.asio?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru