![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Kergan |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.8.2005 Репутация: нет Всего: 5 |
Пишу на шарпе клиентское приложение, есессно вставил сокет и таймер, чтобы читать с него инфу. Так вот ситуация такая: выставил на таймере задержку 5 сек (5000 мсек), получил за это время ТОЧНО БОЛЬШЕ ОДНОГО ПАКЕТА (под пакетом я понимаю flap-пакет, который мне шлет icq-сервер, а не tcp/ip пакет). Забил все это в byte массив кодом:
Sock - это сокет. Так вот, он все обработал грамотно и каждый раз давал мне ровно по ОДНОМУ flap пакету! Хотя все пакеты уже пришли в его буффер (хз какой...). Всвязи с этим вопрос: где он хранит очередь пакетов (не в буффере же чтения, который он должен чистить после Recieve!) --------------------
Была у меня дурацкая подпись...Я ее убрал, а новую еще не придумал. :( |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Может, размер массива btArr равен размеру одного flap-пакета? Тогда приниматься будет блок байтов не длиннее, чем размер принимающего буфера.
-------------------- ![]() |
|||
|
||||
Kergan |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.8.2005 Репутация: нет Всего: 5 |
во-первых размер массива взят с запасом, намного больше одного флапа
во-вторых при таком раскладе (один флап ровно в массив) буффер все равно очистится, я ведь использую первую перегрузку функци recieve, там влаг чтения None по умолчанию... Не могу понять ![]() Это сообщение отредактировал(а) Kergan - 4.1.2006, 13:51 --------------------
Была у меня дурацкая подпись...Я ее убрал, а новую еще не придумал. :( |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Наверное, стоит поспрашивать в разделе по сетям... Лично мои познания в сокетах на этом ограничиваются, слишком мало дела я с ними имел...
![]() -------------------- ![]() |
|||
|
||||
Kergan |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.8.2005 Репутация: нет Всего: 5 |
Нашел... ну, не документацию - ее, видимо, пока нет... в смысле для таких деталей... короче, буферизация там не множественная, но буффер чтения делится на множество частей, причем не по TCP пакетам, а по пакетам верхнего уровня (в случае с ICQ - FLAP-пакетам) если в АСКД битах TCP пакета содержится о них информация. Короче, класс Socket реализован на удивление качественно.
--------------------
Была у меня дурацкая подпись...Я ее убрал, а новую еще не придумал. :( |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |