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

(WinSock) Условие прихода пакета данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ FPS средствами C++ http://www.cyberforum.ru/cpp-beginners/thread925959.html
Здравствуйте. Подскажите, как вывести FPS поверх окна (игры), например, как это делает FRAPS. Заранее спасибо.
C++ Задача преобразования числа в предложение | обработка потока ввода Здравствуйте. Я нашел варианты решения в прикрепленной теме, но интересует вопрос следующего содержания: существуют ли метод "выхвачивания" цифр из потока cin таким образом, чтобы при вводе числа 512 я мог обработать отдельно и 5, и 1, и 2, а на экране было записано именно "512", а не "5 1 2", то есть без разделяющих символов потока cin? http://www.cyberforum.ru/cpp-beginners/thread925953.html
Алгоритм хэширования MD5 C++
Мне дали задачу. Программа должна делать такое: Юзер вводит цифры или буквы Программа делает из них MD5 хэш (т.е. хэширует эти символы) :) Так вот, я в интернете нашел примерный алгоритм MD5 хэширования, но толком не понял как это всё реализовывать)) Накатал такое: #include <cstdlib> #include <iostream>
C++ Решение задачи симплекс методом
Всем доброго времени суток. Помогите, пожалуйста, при компиляции выдает такую ошибку:" fatal error C1083: Не удается открыть файл включение: iostream.h: No such file or directory" Заранее спасибо. #include <iostream.h> #include <math.h> #include <windows.h> char* Rus(const char* text); char bufRus;
C++ Как устроен std::string http://www.cyberforum.ru/cpp-beginners/thread925940.html
Добрый день! Недавно я задался таким вопросом - есть класс std::string, который подразумевает вставку\удаление символов и подстрок, а так же других операция. И в основе лежит какая-то структура данных. Только я не могу понять, что это за структура. Может это что-то вроде вектора, но по идеи все перечисленные операции (вставки, замены) будут происходить очень медленно. На список тоже не похоже -...
C++ любителям критики AI_city.h // --------------------------------------------------------------------------- #ifndef AI_cityH #define AI_cityH #include <iostream> #include <fstream> #include <string> #include <map> подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14214 / 6229 / 988
Регистрация: 02.05.2013
Сообщений: 10,390
Завершенные тесты: 1
20.07.2013, 13:49     (WinSock) Условие прихода пакета данных
Цитата Сообщение от AntiAlianKiller Посмотреть сообщение
Как реализовать такой код? Я не совсем понимаю.
Прежде всего, нужна система определения границ сообщений, передающихся по TCP.
Сам TCP, как Вы уже поняли, таких границ не предоставляет. Поэтому нужен протокол
поверх TCP, в котором эти границы были бы определены. Например, можно каждое
сообщение предварять определенным количеством байт, в которых указывать его длину.
Тогда recv сначала будет вычитывать из сокета эти байты, а затем, получив длину,
вычитывать остаток сообщения, зная сколько именно байт должно прийти.

Другой распостраненный подход - определять конец сообщения по его содержимому.
Например, в HTTP большинство сообщений имеют заголовок, в котором указывается
длина, а затем тело указанной длины. Для Вашего случая подойдет какой-нибудь
специальный символ-разделитель, который не встречается в тексте - как на счет \0 ?
То есть: "Привет, Андрей !0Как дела ?0Где вчера пропадал ?0".

Итак, протокол сформирован, теперь нужен парсер протокола - компонент, которому
вы сможете "скармливать" данные, порезанные сетью на фрагменты, и который будет
"склеивать" из них целые сообщения. Например, отправляем в парсер "При", "вет, А",
"ндрей!0Как д", "ела", "?0" - он возвращает нам строку "Привет,
Андрей" (без нуля, разумеется), затем "Как дела ?" и т.д.

Ну а дальше все просто - читаете в цикле данные из recv и кидаете их в парсер.
Он возвращает готовые целые сообщения, которые можно отображать в окне чата.
 
Текущее время: 11:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru