![]() |
|
Модераторы: feodorv |
![]()
|
|
| Просто Guest |
|
|||
|
Unregistered |
Hi All...
Не могу побороть странную болезнь "сервера" - переодически он не отправляет "клиенту" пакет, хотя по коду это невозможно ... отловил 100% момент этого поведения и вот как это выглядит ... Привожу часть кода отправки сформированного пакета с сервера:
где m_memFile - CMemFile сокетного соединеия куда сначала считываю переданный с клиента пакет, а после в него же формерую ответный пакет, а остальное: BOOL CClientThread::InitInstance() { ... m_pClientSocket = new CClientSocket(this); if (!m_pClientSocket->Attach(hConnected)) { ... return FALSE; } m_pFile = new CSocketFile(m_pClientSocket); m_pArchiveIn = new CArchive(m_pFile, CArchive::load); m_pArchiveOut = new CArchive(m_pFile, CArchive::store); ... } Место где "ничего не происходит" - m_pArchiveOut->Flush(); - я прокомментировал ... По идее эта команда инициирует передачу данных на клиента но только не в смоделированной ситуации - она выполняется но клиент ничего не получет (в смысле на него ничего не приходит) ... поможите плиз ... просто не представляю куда смотреть и что копать ... подскажите! |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: нет Всего: 62 |
Я вообще-то немного так делал.. А можешь ли ты посмотреть-вормируется лм сообщение на клиенте о получении пакета? А какой тип соединения? Насколько я помню с помощью WinSock можно создавать два типа гнезда: TCP( содержат встроеные функции и обеспечивают гарантированую доставку сообщений) и UDP(требуют написания програмного кода для правильного приема -передачи пакетов). Для TCP в качестве второго аргумента Create() нужно передать SOCK_STREAM. Для UDP в качестве второго аргумента Create() нужно передать SOCK_DGRAM. Это сообщение отредактировал(а) Coocky - 28.3.2005, 15:20 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |