Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.05;
Скачать: CL | DM;

Вниз

Kernel32   Найти похожие ветки 

 
Dennisius   (2002-06-20 17:39) [0]

Помогите, можно ли подключится к kernel32.dll через сокеты и если можно как ?


 
ZZ ©   (2002-06-20 17:45) [1]

Ну это ще очень просто.. подключаешся через сокеты к 45612 порту, на котором как раз висит kernel32.dll.


 
Digitman ©   (2002-06-21 08:49) [2]

>Dennisius

Что есть по-твоему "подключиться" к DLL "через сокеты" ?

>ZZ

Чего-чего ???

Кто на ком висит, с каких пор и по какому поводу ? И что это за сервис, ассоциированный с поротм 45612 ?


 
ZZ ©   (2002-06-21 09:21) [3]

Сервис KERNEL32 висит именно на этом порту :) Висит уже давно... Так что подключайтесь и пользуйтесь


 
Digitman ©   (2002-06-21 10:30) [4]

>ZZ
Каким же RFC, позволь уж полюбопытствовать, регламентирован данный "сервис" ? Что и при каких условиях он предоставляет по-твоему ?


 
Fiend ©   (2002-06-21 11:24) [5]

По моему ЗЗ просто издевается , или прикалывается над людьми


 
ZZ ©   (2002-06-21 12:04) [6]

Digitman
В общем посылаешь в сокет текстовое сообщение (но тольно в Unicode!! А то многие ошибку делают) в любом виде Например, "хочу создать файло vasya.txt на диске D" и файл таки создается. (Естественно это если винда русская, в англ - соотв. по английски ). Все просто. Все подробности в МСДН..


 
Digitman ©   (2002-06-21 13:07) [7]

1. При чем здесь собственно kernel32.dll - то ? Это модуль, в котором реализованы базовые ф-ции Win32-ядра, к коим реализация Winsock-подсистемы (зависящая от kernel32 , но не наоборот !) не имеет никакого отношения. Иными словами - ядро не зависит от наличия или отсутствия в системе установленного стека TCP-протоколов. В частном случае система вообще может не использовать TCP-протокол для сетевого взаимодействия ни по одному из подключаемых ей сетевых интерфейсом. И ядро прекрасно обходится без всего этого.

2. Вот тебе ссылка
http://www.iana.org/assignments/port-numbers

Не сподобишься ли процитировать строчку из перечисленных там списков среди следующих :

The Well Known Ports are those from 0 through 1023.
The Registered Ports are those from 1024 through 49151
The Dynamic and/or Private Ports are those from 49152 through 65535

???

Ведь ты ж пеняешь на MSDN, а, значит, упомянутый тобой документированный Microsoft"ом сервис просто обязан присутствовать в одном из этих списков...




 
Sasha9 ©   (2002-06-21 13:11) [8]

2Dennisius
а ты сам-то понял что сказал?


 
ZZ ©   (2002-06-21 17:01) [9]

Ну в общем я тут писал и случайно закрыл окно :( Поэтому будут краток :)

1. Начиная с вин98 все и вся в ос очень тесно связано с инетом (веб содержимое на рабочем столе и т.д.). И кернел32 (который кстати не ядро виндовса вроде) не исключение. Он использует сокеты для (некоего аналога) сервиса LPC (Local Procedure Call) и предоставляет "сервис" именованных каналов (Named Pipes) (а в 98 они реализованы только как локальные). И все это не зависимо от установленных в системе TCP протоколов. В рамках этого сервиса Kernel32 предоставляет выполнение функций через LPC порт методом, описанным мною выше.

Естественно, работать это будет в пределах одного компа и не будет работать по сети (даже с установленным TCP :)

2.
# 45055-45677 Unassigned !!!

А про его задокументированность я в общем и не говорил.

ЗЫ. А что это за организация такая интересная ( http://www.iana.org/ )? Может зарегистрировать за собой какой нибудь порт :)


 
Digitman ©   (2002-06-21 18:13) [10]

>ZZ
>>"про его задокументированность я в общем и не говорил."

Да что ты говоришь !!?? Ну надо же ) ... я то, тундра, сижу тут и молюсь на MSDN : типо, где уж как не в MSDN можно отыскать официальную и более-менее достоверную информацию обо всем "творчестве" от MS))... в т.ч. и об интерфейсе/"потрохах" kernel32.dll)))

>>"организация такая интересная"
Интересна она, сударь, не тем, что туда сломя голову нужно бежать регистрировать чего-то там, а единственно тем, что
информация об устойчивых сервисах там постоянно обновляется и на сей момент достаточно свежая. А уж о "несвежести" того, что являет собой упомянутое тобой инф.содержимое MSDN, можно складывать легенды. И тем более странно, что инф-ция о сем "сказочном" сервисе, якобы упоминаемом в MSDN (начиная с выхода в свет первого Маздая, а , значит, и kernel32.dll в его составе), до сих пор (сколько лет-то уже прошло !) отсутствует на подобного рода информационных порталах.
Таки, может, и ссылочку представишь на "Все подробности в МСДН" ? Особливо желательно - касаемые разделов, посвященным LPC-механизму ? И - крайне интересно - те, где еще и встречаются слова "socket", "port"

И еще - не сподобишься ли пояснить, каким же образом автору по твоему совету можно подключиться к "LPC порту", якобы имеющему номер 45612, если автор подразумевает именно Berkley Sockets (я надеюсь) , а не нечто иное, неизвестное мне, но называемое тобой "сокеты" ? Фрагмент кода очень не помешал бы)...


 
ZZ ©   (2002-06-21 18:56) [11]

Да что ты говоришь !!?? Ну надо же ) ... я то, тундра, сижу тут и молюсь на MSDN : типо, где уж как не в MSDN можно отыскать официальную и более-менее достоверную информацию обо всем "творчестве" от MS))...
Да уж.. наивняк однако...

начиная с выхода в свет первого Маздая, а , значит, и kernel32.dll в его составе
Я по моему по русски написал "Начиная с вин98".

отсутствует на подобного рода информационных порталах.
Одним словом Undocumented. Кстати насчет отсутствует - Dennisius откуда то это узнал. Не я же ему об этом рассказал...

Таки, может, и ссылочку представишь на "Все подробности в МСДН"
Таки врядли. У меня траффик в сторону майкрософт больно дорогой...

можно подключиться к LPC порту
Сочиняешь однако :) Я про LPC порт вроде ничего не писал. Именно обычные сокеты...

Фрагмент кода очень не помешал бы)...
var
CS : TClientSocket;

CS:=TClientSocket.Create(...);
И т.д. А что посылать я уже писал.

Интересна она, сударь, не тем, что туда сломя голову...и т.д.
На заборе тоже написано. Я спрашивал, что это за организация и насколько она официальна?


 
Dennisius   (2002-06-21 19:57) [12]


> ZZ

Подскажи формат строки для Вася.тхт :)


 
Digitman ©   (2002-06-24 13:22) [13]

ZZ © (21.06.02 17:01)

1.
>>"..Kernel32 предоставляет выполнение функций через LPC порт .."

ZZ © (21.06.02 18:56)
>>Я про LPC порт вроде ничего не писал

И как сие понимать ? См. bold-текст в цитате твоей же реплики.

2. Удали-ка ты на время все сетевые интерфейсы/протоколы и т.п. из конфигурации своей локальной машины, работающей под Маздаем (по барабану - Win9x или WinMe, в прочем и под НТ то же самое должно быть) и попробуй свой же код параметрами

CS.Address = "127.0.0.1"
CS.Port = 45612

При попытке CS.Open кроме всех прочих исключений (в разных вариациях) ты получишь WSAEPROTONOSUPPORT. Это в лучшем случае.

В худшем же (а скорее всего худший случай и есть при таком раскладе) первая же строчка
ErrorCode := WSAStartup($0101, WSAData)
в процедуре Startup вернет тебе ошибку невозможности инициализации Winsock-подсистемы.

Так о каких же "Именно обычных сокетах" ты речь ведешь, коль тот самый экз-р класса TClientSocket (это ты ЕГО "обычным сокетом" называешь что ли ?) при выполнении метода Open обязательно даст отказ из-за невозможности инициализации ?


 
ZZ ©   (2002-06-24 16:33) [14]

Digitman ©
функций через LPC порт методом,

2.
Это я, а то kernel винды!!!

это ты ЕГО "обычным сокетом" называешь что ли ?)
Именно его (не компонент же, а то с чем он работает). Могу еще функцию socket назвать. Или это не обычные сокеты?


 
Digitman ©   (2002-06-24 18:24) [15]

>ZZ


> Это я, а то kernel винды!!!


Слушай, сударь, не морочь человеку голову ! Где твои аргументы ? Конкретные ?
Ведь - ни одного ! Пустая болтовня до сих пор ...


> Могу еще функцию socket назвать


Да называй что и как тебе угодно ! Хоть socket хоть "гнездо" ... Суть от этого не меняется : прежде чем вызвать любую ф-цию из интерфейса Winsock (дабы впоследствии попытаться осуществить любого рода коннект) требуется инициализация интерфейса, а именно - WSAStartup(). Без инициализации WinsockAPI любые попытки обращения к нему бессмысленны и терпят крах !

Приведи же контраргументы, отрицающие необходимость всякой инициализации, либо факт, говорящий о возможности успешного установления соединения без конфигурирования системы на предмет подключения вышеуказанных сетевых компонентов / протоколов. Тогда и разговор серьезный будет ...



Страницы: 1 вся ветка

Текущий архив: 2002.09.05;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.011 c
3-13914
Igel
2002-08-13 08:30
2002.09.05
Как связать данные и TListBox?


1-14089
Марина
2002-08-23 13:59
2002.09.05
ComboBox и свойство Columns


14-14271
Tornado
2002-08-12 14:36
2002.09.05
Прикол :)


14-14250
F1 rulezz
2002-08-11 03:25
2002.09.05
Обьяснения к проге...кто из мастеров видет, помогите пожайлуста


14-14274
RUS1
2002-07-25 15:38
2002.09.05
Delphi упал .... поднять никак не могу!!!