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

Server Socket и прием данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить средние арифметические значения http://www.cyberforum.ru/cpp-beginners/thread1142200.html
Здраствуйте. Можете помочь сделать программу? Вот такое задание и надо использовать процедуры. Вычислить средние арифметические значения отрицательных элементов заданных массивов F1 (12), F2 (14), F3 (16) и вывести их отдельно на экран.
C++ Ошибка при компиляции Здравствуйте! При попытке компиляции кода выкидывает ошибку "fatal error LNK1120: 1 неразрешенных внешних элементов" #include <iostream> #include <locale.h> using namespace std; class elem { http://www.cyberforum.ru/cpp-beginners/thread1142196.html
Поместить код символа в переменную. Sprintf C++
char a; int i=1; char b; sprintf(b,"%d",i); a=b; Собсно,ведь код сводится к тому,чтобы записать int i в char a.Но конструкция явно индуская. Может есть способ по-проще?
C++ Вывод чисел с запятой через wsprintf
Добрый день! Как правильно вывести знаковое число типа double? Целые числа выводил вот так: wchar_t buf; wchar_t buf_1; int sl = wsprintf( buf, L"Результат сумма:%d", m_Result_sum,"\n" ); int sd = wsprintf( buf_1, L"Результат произведение:%d", m_Result_mult,"\n" ); RECT rc;
C++ Ошибка по среди выполнения http://www.cyberforum.ru/cpp-beginners/thread1142177.html
Привет. Я наверное надоел вам) Ну дело в том что у меня сломано бедро и я не хожу, а лабы сдавать надо Нужна помощь. Надо посчитать среднее арифметическое из парных чисел, всего 12 чисел надо использовать оператор For для цикла Написал вот такое, но по среди работы ошибка Что то с числами, помогите #include "stdafx.h" #include <iostream>
C++ Вынести часть кода в функцию Скажите пожалуйста как сделать нахождение основных значений через функцию RESHENIE(), а ввод данных и вывод через функцию MAIN() #include <iostream> #include <fstream> using namespace std; int main(){ double Sc, Ss, a, r; ofstream out("output.txt"); ifstream in("input.txt"); in>>a>>r; подробнее

Показать сообщение отдельно
stima
429 / 284 / 16
Регистрация: 22.03.2011
Сообщений: 923
Завершенные тесты: 1
08.04.2014, 15:13     Server Socket и прием данных
По поводу std::vector<char>,
1. насколько я понял, у вас ассинхронный, но не паралельный вызов обработчика, а это значит, что вы можете использовать один вектор, как общий буффер без дополнительных ограничений.
2. Если Вам реально важна скорость, Вы можете зарезервировать максимум возможной памяти, т.е. грубо говоря выделить буффер сразу при старте программы.
3. Так или иначе, как я понял по коду, Вы склеиваете пакеты в один общий, а это значит, что ресайзете вектор. Короче говоря не замарачивайтесь, по поводу ресайза/очистки, во первых потому что Вы не теряете там много, во вторых потому что предвременная оптимизация чревата, сделайте так, чтобы работал потом оптимизируйте.
4. Вектор, как и массив представляет собой линейную память &buff[N] говорит взять указатель на N-ый элемент в данной памяти, т.е. если Вы введете дополнительный маркер смещения то можете дополнять один и тотже вектор, просто брав разный указатель.
5. Если вы знаете размер пакета, и вектор состоит из пакетов, то можно писать побайтно:
C++
1
2
3
4
int marker = 0;
file.write(&buff[marker], pkt_size);
//можно дописать делиметр/перенос строки
marker += pkt_size;
Грубо говоря простая итерация только инкриментируете вы на размер пакета.
6. TCP является потоковым протоколом по своей сути, и поэтому да. возможно, но маловероятно, Вам прийдет 1 байт, а потом (pkt_size - 1) байт. Вы должны это обработать.
 
Текущее время: 07:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru