|
0 / 0 / 0
Регистрация: 30.08.2007
Сообщений: 35
|
|
Как открыть НЕблокирующий сокет?30.03.2008, 23:57. Показов 2792. Ответов 8
Метки нет (Все метки)
Привет всем.
Тут вот задумал проксю написать - а вот как на VB неблокирующий сокет открыть не знаю. В С++ лезть не очень хочется - может кто знает ??? ЗЫ это сокет на который клиент может открыть несколько соединений. С уважением жду ответа...
0
|
|
| 30.03.2008, 23:57 | |
|
Ответы с готовыми решениями:
8
Как узнать, что неблокирующий сокет отключился Неблокирующий сокет Неблокирующий сокет |
|
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
|
||||||
| 31.03.2008, 14:36 | ||||||
|
Вот примерчик если знаком с Winsock API.
Функция открытия сокета и установки/снятия блокировки. Не обращай внимание на хаос - это только для примера. Реально эти функции и объявления находятся в разных модулях и классах. Разберёшся.
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.08.2007
Сообщений: 35
|
|
| 31.03.2008, 19:22 [ТС] | |
|
Вот спасибо за ответ - а то я уже думал на С++ писать придется...
Только вот что... функция dd() создает сокет скорее всего функция IsBlocked (IsBlocked As Boolean) выполняе комманду на сокете - я так понял устанавливает его тип - блокированный или нет... только вот позвольте полениться - считывание и прием.передача данных так же через API ??? т.е. по проще никак нельзя ??? т.е. события к сокету привязять и т.д. ... :-) И где взять список комманд которые можно выполнять на сокете ?? в МСДН я чтото не все нашел ... С уважением...
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
|
|
| 31.03.2008, 20:01 | |
|
1. да, dd() просто создаёт сокет ... dd() написал для бОльшей понятности. А то долго пришлось бы пояснять откуда взялся m_Socket в IsBlocked
![]() 2. ioctlsocket (для моего удобства названо WS_IOControl) так-же меняет и другие установки, но я их не использовал - подробнее в МСДН 3. 'считывание и прием.передача данных так же через API ?' - не обязательно. Можно взять хэндл сокета из Winsock контрола и потом использовать его в API вызовах. Но тут возникает некая неопределённость, которая мне лично не нравится. Неизвестно поведение контрола если менять установки вне его. Предпочитаю точно знать что происходит в моей программе (насколько это возможно в VB) а не думать /гадать 'а чего эта штуковина тут вытворяет ?'. 4. 'МСДН я чтото не все нашел' - трудно искать если неизвестно чего Тут у меня нету МСДН, но примерно: Windows network services в оглавлении. Или, для начала, в поиске набери 'ioctlsocket'.Всё. Устал писать Вроде всё должно быть понятно ...
0
|
|
|
0 / 0 / 0
Регистрация: 30.08.2007
Сообщений: 35
|
|
| 31.03.2008, 23:09 [ТС] | |
|
Ага ясненько.
Только вот я не совсем понял как это, но скорее всего использовать 'событейную' модель сокета, и вызовы направлять на окно с хендлом Winsoc, т.е. фактически самому Winsock, а исходя из стандарта системных сообщений, то в случае какого то события на порту Winsock получит именно то сообщение которое нужно ??? ;-) И эм-м-м я так глянул на часть программы Public Enum SocketProtocol SP_IP = 0 SP_ICMP = 1 SP_IGMP = 2 SP_GGP = 3 SP_TCP = 6 SP_PUP = 12 SP_UDP = 17 SP_IDP = 22 SP_ND = 77 SP_RAW = 255 SP_MAX = 256 End Enum и э-э-э, часть я знаю, но большую половину нет ... к примеру RAW я только начал под него копать - как есть опыт работы ??? хочу написать свой шлюз под виндой 98. Т.е. чтоб в качестве шлюза использовать свой же ПК.
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
|
|
| 02.04.2008, 11:27 | |
|
'но скорее всего использовать 'событейную' модель сокета, и вызовы направлять на окно с хендлом Winsoc, т.е. фактически самому Winsock, а исходя из стандарта системных сообщений, то в случае какого то события на порту Winsock получит именно то сообщение которое нужно '
Ничего не понял из того что ты спросил ![]() Хэндл сокета можно использовать для соединения с локальным/удалённым сокетом (для 'простых' - RAW, ICMP ... соединение не нужно), чтения, записи и.т.д. Если будешь использовать контрол, а не 'чистый' API то есть смысл использовать функции Winsodk API только для специфичных задач, не реализованных в контроле. Используя котрол, взять у него хэндл и потом получать-отправлять сообщения (что делает сам контрол) - похоже на извращение. IMHO Изучайте матчасть, батенька В МСДН усё есть и каждая функция описана. Если конечно лень, можно и примеры поискать, но тогда труднее понять зачем всё это надо.Успехов.
0
|
|
|
0 / 0 / 0
Регистрация: 30.08.2007
Сообщений: 35
|
|
| 07.04.2008, 16:17 [ТС] | |
|
Я к тому - что эм-м-м случаем нет опыта работы и вообще знаний относительно всех этих 'остальных' типов сокета??? то самому разбираться - времени жалко это ж не основная работа... вот думаю помощь была бы к стати...
С уважениме. Жду ответа... ЗЫ - сколько всего интересного ... :-)
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
|
|
| 07.04.2008, 17:02 | |
|
Это ты мудро придумал
) Только время штука такая - всем нехватает. так что придётся самому изучать.vbip.com - там по ссылкам дальше пойдёшь ...
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2008
Сообщений: 181
|
|
| 07.04.2008, 17:31 | |
|
Это ты мудро придумал
) Только время штука такая - всем нехватает. Так что придётся самому начала изучать. Чтоб представление какое было...vbip.com - для базы самое то. Но на engl только. В .ру, по-моему, до таких сайтов не дошли... Ну а если чего конкретно, завсегда пожалуйста - спрашивай.
0
|
|
| 07.04.2008, 17:31 | |
|
Помогаю со студенческими работами здесь
9
Неблокирующий сокет Как открыть файл через сокет Как открыть сокет через прокси сервер? Открыть сервер сокет Как только происходит попытка создать сокет для UDP - сокет TCP сразу ломается (выдает 10093). Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|