Форум программистов, компьютерный форум 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++ Поиск подходящих исходников Люди, помогите найти исходники программ на C или С++, которые производят управление курсором мыши при помощи лазерной указки и Web-камеры. Просто я в этом полный ноль пока что, хочется разобраться с исходниками и на основе их уже написать саму программу которая это реализовывает. Помогите пожалуйста! подробнее

Показать сообщение отдельно
Tilk
 Аватар для Tilk
0 / 0 / 0
Регистрация: 13.03.2010
Сообщений: 79
03.09.2010, 03:07     Сеть и очередь структур
Всем привет.

Пишу клиент-серверное приложение, в качестве пакета данных у меня 4 int числа, в виде структуры.

C++
1
2
3
4
struct message
{
    int arg[4];
};
Клиентская программа параллельным потоком принимает данные от сервера, каждая "порция" данных это одна структура message.

Получив данные от сервера и преобразовав их в int числа я делаю из них массив и ставлю в очередь.
C++
1
2
3
4
5
6
7
8
9
10
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);
}
Где commands - это очередь сообщений. Объявлена так:
C++
1
queue<message> commands;
А дальше я делаю вот такую вещь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Gameplay::ProcessMessages()
{
    while (!Net.commands.empty())
    {
        message rmessage;
        rmessage = Net.commands.front();
        if(rmessage.arg[0] == 0 && rmessage.arg[1] == 2)
        {
            Player.SetTarget(rmessage.arg[2], rmessage.arg[3]);
        }
        Net.commands.pop();
        rmessage.arg;
    }
}
Gameplay - мой корневой класс, внутри которого я все объявляю.
Net - класс для работы с сетью, очередь commands явзяется членом этого класса.
Player::SetTarget - это метод для перемещения персонажа (эта команда должна выплняться с данными полученными от сервера)

Собственно проблема в том, что данные, приходящие в метод Player::SetTarget не те. Единственное что знаю наверняка, так это то, что в функцию ProcessMessage от сервера поступают корректтные аргументы. А уже на стороне клиента я делаю с ними что-то не то.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru