Просмотр полной версии : Работа с сокетами
Помогите разобраться. Как работать с сокетами в дельфи 7? я нашёл статьи, где рассказывют о компоненте tclientsocket, но его нет в седьмом, наверное в шестом был..
Смотри в сторону компонентов Indy или юзай чистый WinSock
BlackSun
09.06.2008, 12:02
Кто сказал, что в 7й делфе его нет? (TClientSocket), он просто не подключен ..
Component -> Install Packages -> Add -> /bin/dclsockets70.bpl
Появится на вкладке Internet
меня тоже интерисует этот вопрос.Не могли бы вы дать какойнить просто исходник где описывается каждое действие.
http://sources.ru/delphi/delphi_network.shtml
0verbreaK
09.06.2008, 13:31
Лучше сразу винсок учи, в книге Фленова много примеров и исходников, где описывается как на винсок программировать, Upd, Tcp клиенты, мейлеры, файрвол, прокси.
книги Фленова как раз для начинающих, но для более серьезного уровня я ничего толкового не нашел ни в одной из его книг, в основном в них материал повторяется, но не много разные примеры и применения.
Delimiter
09.06.2008, 16:08
да уж.... на асинхронных сокетах программить книги не научат!
... максимум быдлокодинг на блокирующих!
Delimiter
09.06.2008, 22:25
вот это да! оказывается уметь юзать fcntl и select (или как там оно в долфе называется) это верх мастерства
во первых WsaAsyncSelect .... во вторых это действительно так! Поскольку обработчик поступающих пакетов - это одно , а все остальное это другое и чтоб все это работало как одно целое нужно уметь !
А чтоб while-АМИ ждать приходящие пакеты , дык это из руководства для чайникоффф которые при словах коллбак функции падают в обморок!!!!
конечно эти чайники начинают совать свои блоркирующие сокеты в нитки, не считая ,что в итоге они получат намного меньше "квантов" времени(вытес.многоз.мастд я) чем обработчик находился бы в основной нитке процесса!
а иногда они и до этого не доходит а заканчивается заfreezeвшемся диалоговом окне ! Это верх их сетевого кодирования! И они удовлетворяются консолью! НУ КАК ЖИВЕНЬКАЯ КАРТИНКА!?
Delimiter
09.06.2008, 22:49
чуствуется линуксоид! 8))) ... Тибу достаточно и блокирующих сокетов! Сам под линукс использую только их, я говорил об Мастдае! Когда тысча новичков еженедельно пялится на замерзшее диалоговое окно!
!{ra!{e/\/
09.06.2008, 22:51
можно тут почитать
http://forum.sysman.ru/index.php?showtopic=12171
0verbreaK
09.06.2008, 23:15
да уж.... на асинхронных сокетах программить книги не научат!
... максимум быдлокодинг на блокирующих!
Почему же Флёнов упоминает в своей книги блокируюищие/неблокирующие сокеты, даже довольно таки подробно объясняет, что игде использовать надо.
Мне довелось изучать труды Йона Снейдера - Эффективное программирование TCP/IP, так там расписано и огромное кол-во примеров, правда ОС UNIX затронута, и она расчитана для професионалов, а с Флёнова стоит, начать тем более это книжка с кодом на делфи. Для новичка самое оно.
Delimiter
09.06.2008, 23:49
упоминание это слишком мало....
типа сначала setsockopt для многократного использования
затем WsaAsyncSelect для tcp-handshake....
потом listen затем пишем обработчик FD_ACCEPT в нем вызываем
WsaAsyncSelect для указания обработчика FD_READ и FD_CLOSE
и описываю обработчик для последних двух событий....
вот мои слова тоже скажут все только ждя уже понимающих людей
0verbreaK
10.06.2008, 01:07
упоминание это слишком мало....
А что вы хотели - это же серия глазами хакера))) В некоторых книгах встречается - хакер значит, не программист, и не нужно затргивать модели программирования,
достаточно описать инструментарий.
Сеть сейчас/прежде доступна, то есть документации море, при чем уровень её очень хороший, например статья: http://wasm.ru/article.php?article=socketbybeej, видимо не стоит читать подобные книги Фленова, професионалам, хотя там можно найти чтото интересное например: Файрвол - правда там сторонний фильтр использовался но все же хоть какоето чудо на раннем этапе развития программерской смекалки))
disasembler
10.06.2008, 13:09
используй потоки:)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot