![]() |
|
Другие темы раздела | |
C++ pre-fork сервер Если кто знает, помогите, пожалуйста. Требуется сделать префорк сокет сервер, но чтобы он обрабатывал неограниченое количество запросов. То есть, если закончились процессы, созданные для обработки... https://www.cyberforum.ru/ cpp-networks/ thread1138.html |
C++ Програмирование TCP/IP
https://www.cyberforum.ru/ cpp-networks/ thread3047.html Собственно меня интересует управление потоками пакетов (если так можно выразится :) ). Я нуб, с чего мне начать? Кто что порекомендует: книги, сайты, форумы. Буду благодарен. ...управление потоками пакетов... Не слышал такой формулировки. Поэтому не понял, что требуется. Если нуб, то в первую очередь изучить спецификацию TCP/IP по какой-нить книге. У меня есть,... |
Организация авторизации в домене, клиент-сервер-домен-авторизация C++ Здравствуйте. Передо мной стоит следующая задача: нужно написать клиент-сервер, с возможностью авторизации клиента "tr" на сервере "tr" используя windows аутентификацию: 1) используя текущий логин и... отличное описание данных вещей в книге Рихтер Дж., Кларк Д.Д. - Программирование серверных приложений |
Вопрос чайника по указателям. C++ Как по русски предельно лаконично и понятно можно истолковать выделенную часть? bind( m_socket, (SOCKADDR*) &service, sizeof(service) ) Зарание спасибо. Как по русски предельно лаконично и понятно можно истолковать выделенную часть? Так вам нужен учебник по русскому?:)) Выделенная конструкция трактуется как адрес переменной service, приведённый... |
Исходники ФТП клиент-сервер с авторизацией C++ Есть ли у кого исходники системы авторизации клиент\сервер через протокол ФТП? (чем проще, тем лучше) |
C++ Прога про класс процесоров Здравствуйте, уважаемые программисты. Подскажите правильно ли я думаю и исправьте если что не так в алгоритме. Создаётся класс процессоров, и выводятся данные в зависимости от выбранного проца:... Угу. Кстати, чтобы не использовать двойное условие if((a=='a')||(a=='A')) можно применить функцию приводящюю строку к нужному регистру (_strupr, к примеру). https://www.cyberforum.ru/ cpp-networks/ thread4761.html |
C++ Прослушивание сокета
https://www.cyberforum.ru/ cpp-networks/ thread2460.html В общем появилась у меня необходимость в прослушивании сокета другой программы . Эту задачу можно решить с помощью сниффера но вопервых они все треубт установки специального драйвера чт оне удобно во... |
C++ Написанное мною приложение управляет другим. Подскажите... Как можно и можно ли вобще?!! Хочу написать програмку на MFC чтоб она посылала сигналы (вымышленные) о нажатии различных кнопок другому приложению, так то немного шарю в программировании на MFC,... Если оба приложения пишешь ты то можешь связать их через файл, тоесть при нажатии на кнопку записывается инфа в файл а вторая прога считывает из файла данные и в зависимости от них выполняет... https://www.cyberforum.ru/ cpp-networks/ thread4093.html |
магазин по продаже мебели C++ Народ помогите пожалуйста! Пишу клиент-серверное приложение "магазин по продаже мебели". Написал сервер и клиент, теперь не знаю как передать таблицу с перечнем мебели клиенту. Помогите кто может.... TransmitFile((SOCKET)hSock, hFile, 0, 0, NULL, NULL, (DWORD)0); Пересылает данные открытого файла (хэндл hFile), через подключенный hSock. Хотя можно передавать и функцией send. Только читать с... |
C++ На чём компилировать?
https://www.cyberforum.ru/ cpp-networks/ thread2525.html Вот этот код, VC++ не ставится, Borland c++ Builder поставил, но там непонятно куда его вставлять... #include "pop3.h" #include "md5/md5.h" #include <algorithm> // std::copy #include... Borland C++ 4.5 unable to open include file winsock2.h unable to open include file string Borland C++ 5.02 с средой разработки unable to open include file sstream.h Borland C++ 5.5 без... |
C++ Как определить установлена ли связь с сервером интернета с помощью сокетов? Нашёл программку для сканирования портов, там был такой код: result = connect(socket1, (sockaddr *) &peer, sizeof(peer)); if (result != 0) { RichEdit1->Lines->Add("Couldn't connect to the... |
C++ Помогите, пожайлуста, с курсовой Если не сложно помогите написать прогу "Сетевой обмен данными между процессами" Условие: сокет, TCP/IP а что будет взамен?и что означает помогите? https://www.cyberforum.ru/ cpp-networks/ thread2936.html |
![]() 2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
14.06.2008, 14:23 | 0 |
Утеря данных при передаче через TCP/IP ?! - C++ - Ответ 3904514.06.2008, 14:23. Показов 4658. Ответов 19
Метки (Все метки)
Ответ
Ну, в общем, я примерно такого ответа и ожидал...
Вот use case, который твой сервер отработает неправильно: Клиент 1 передает (в строках 274-282) серверу сообщения: 11111, 22222, 33333, 44444 - итого счетчик U1 честно покажет 4 сообщения. Сервер принимает (в строках 284-294) сообщения: 11111, 2222233333, 44444 - итого три "сообщения". Ах! Одно сообщение потеряно.... Вот тебе и расхождение числа переданных и принятых сообщений, описанное 12.06.2008. Хотя TCP/IP абсолютно честно передал на приемный конец все байты, которые в него запихали на передающем конце. По-моему, ты совершаешь весьма типичную ошибку. Чтобы правильно интерпретировать, что происходит, думай о TCP/IP соединении как о "потоке" (или "ленте") байтов - ты же сам указал флаг SOCK_STREAM, не так ли? Функция WSASend() просто пишет байты в этот поток. Функция WSARecv() просто "вынимает" из потока сколько-то байтов, - а именно, столько, сколько доступно в момент ее вызова во внутреннем буфере драйвера tcpip.sys. Эти байты не обязаны вообще образовывать какое-либо сообщение, - за анализ семантики полученных байтов отвечает ПО верхнего уровня (пользователя). Вернуться к обсуждению: Утеря данных при передаче через TCP/IP ?! C++
0
|
14.06.2008, 14:23 | |
Готовые ответы и решения:
19
Искажение данных при передаче через TCP соединение. Winsock Границы сообщения при передаче через TCP Шифрование данных при передаче на сервер |
14.06.2008, 14:23 | |
Помогаю со студенческими работами здесь
0
Передача пакета данных TCP через интернет Клиент-серверное сетевое приложение через среду передачи данных стека TCP/IP
Утеря char* переменной при передаче объекта в дочерний поток Потеря данных при передаче по TCP |
Новые блоги и статьи
![]() |
||||
Разработка кроссплатформенного мобильного приложения для iOS/Android на C++
bytestream 02.03.2025
C++ как язык программирования высокого уровня с прямым доступом к аппаратным ресурсам позволяет создавать приложения, работающие одинаково быстро как на iOS, так и на Android устройствах. Ни для кого. . .
|
Аутентификация/авторизация на Golang
bytestream 02.03.2025
Go предлагает множество возможностей для создания надежных систем аутентификации. Встроенные криптографические пакеты, высокая производительность и простота параллельной обработки запросов делают его. . .
|
Нововведения TypeScript 5.8
bytestream 02.03.2025
TypeScript 5. 8 приносит много возможностей и оптимизаций, которые существенно расширяют границы типобезопасного программирования на JavaScript. Эта версия включает ряд значительных улучшений в работе. . .
|
Выполнение кода в игровом цикле Unity с использованием не-MonoBehaviour классов C#
bytestream 02.03.2025
Обычный подход к разработке игр на Unity тесно связан с использованием MonoBehaviour - базового класса для скриптов, обеспечивающего доступ к игровому циклу через события Update, FixedUpdate и. . .
|
Управление инстанцированием вложенных классов в C#
bytestream 02.03.2025
Вложенные классы в C# - мощное средство для создания тесно связанных типов данных и логики. Такие классы определяются внутри других классов и обеспечивают высокий уровень инкапсуляции, позволяя. . .
|
Как использовать Batch Transform и Batch Gizmo Drawing API в Unity
bytestream 02.03.2025
В мире разработки игр производительность часто становится краеугольным камнем, особенно когда речь заходит о проектах с большим количеством объектов и сложной визуализацией. Unity предоставляет. . .
|
Эффективный реверс строк в C#
Wired 01.03.2025
Реверс строки, казалось бы простая операция, на практике может стать испытанием для производительности приложения, особенно когда речь идет о больших объемах данных или критически важных участках. . .
|
Перегрузка булевых операторов в C#
Wired 01.03.2025
В программировании редко встречаются задачи, требующие перегрузки булевых операторов. Обычно достаточно стандартной реализации для типа bool или использования nullable-типов. Однако существуют. . .
|
Способы определения момента возникновения события в коде C# Unity
Wired 01.03.2025
Отслеживание событий - важный элемент разработки игр на Unity, позволяющий создавать отзывчивые и интерактивные приложения. Однако стандартные средства Unity не всегда предоставляют оптимальные. . .
|
Unit-тестирование в Unity
Wired 01.03.2025
Многие разработчики игр считают, что написание тестов отнимает слишком много времени и ресурсов, особенно учитывая частые изменения геймплейной логики и механик. Однако это заблуждение приводит к. . .
|