Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2010, 15:46   #1
meganom
 
Регистрация: 01.09.2010
Сообщений: 7
По умолчанию Какой размер приемного буфера у сокета

Для создания сервера использую компонент ServerSocket, сперва сделал чтение принимаемых данных по событию onClientRead , и считывал полученые данные так
Цитата:
len:=Socket.ReceiveLength;
Socket.ReceiveBuf(Data,len);
Теперь я хочу читать буфер не по событию onClientRead, а по ходу выполнения программы ,так вот когда у программы дойдет время до чтения данных пришедших в сокет не известно, а размер приемного буфера сокета я не знаю, не получится так что пока программа занималась своими делами приемный буфер сокета переполнится, или у сокета буфер динамический и автоматический расширяется , и мне не стоит об этом парится ?
meganom вне форума Ответить с цитированием
Старый 01.09.2010, 16:36   #2
meganom
 
Регистрация: 01.09.2010
Сообщений: 7
По умолчанию

Во блин, а что я не могу без события onClientRead прочитать данные из буфера своей процедурой когда захочу? Я думал сделать процедуру в неё вставить код
Цитата:
len:=Socket.ReceiveLength;
Socket.ReceiveBuf(Data,len);
вызывать её когда нужно и читать что там поступило. а я забыл про это
(Sender: TObject; Socket: TCustomWinSocket);
Да тяжело переходить с прагромирования микроконтроллеров на языке Си на Delphi
Может кто обьяснит как можно читать данные из сокета свой процедурой
meganom вне форума Ответить с цитированием
Старый 01.09.2010, 21:21   #3
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Да без проблем можно и своей процедурой это делать. Только для этого вам потребуется её написать на WinSock, описывая всякие типы, как: TSocket, TCriticalSection, TSockAddrIn и многие другие. Учите выделенное. В стандартных сокетах дельфи размер буффера по моему не может превышать 65535 байт (я могу ошибаться). Вообще давно не занимался сетями. Объясните, за чем вам это (любопытно мне). Вообще попробуйте замутить несколько буфферов, например их массив, и как только один из них заполнится увеличивайте счетчик и заполняйте следующий, а когда надо будет - воспроизведете.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 01.09.2010, 21:45   #4
meganom
 
Регистрация: 01.09.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от ImmortalAlexSan Посмотреть сообщение
Да без проблем можно и своей процедурой это делать. Только для этого вам потребуется её написать на WinSock, описывая всякие типы, как: TSocket, TCriticalSection, TSockAddrIn и многие другие. Учите выделенное. В стандартных сокетах дельфи размер буффера по моему не может превышать 65535 байт (я могу ошибаться). Вообще давно не занимался сетями. Объясните, за чем вам это (любопытно мне). Вообще попробуйте замутить несколько буфферов, например их массив, и как только один из них заполнится увеличивайте счетчик и заполняйте следующий, а когда надо будет - воспроизведете.
Зачем мне это нужно почитайте в раздели ПРОЧЕЕ я том тоже создал топик, боюсь потери данных
meganom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка сокета Djem1991 Работа с сетью в Delphi 4 16.06.2010 15:39
Socket / Доступ к буферу чтения сокета / Чтение из буфера bwwebm Работа с сетью в Delphi 1 29.04.2010 10:42
DSPack: размер буфера, частота кадров RGV Мультимедиа в Delphi 3 20.11.2009 13:23
Ошибки Сокета DM_bite Помощь студентам 1 05.08.2008 19:17
Определение сокета SLASH_CyberPunk Работа с сетью в Delphi 3 21.07.2008 13:02