Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.007 c
1-14154
Дмитрий Иванов
2002-08-25 03:28
2002.09.05
Глюки при экспорте в Excel


3-13973
Викт0р
2002-08-16 15:33
2002.09.05
dBase 4


14-14251
Alexsandri
2002-08-11 12:12
2002.09.05
господа возможно ли перехватить ножатие на del


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


7-14307
KPY
2002-06-27 08:19
2002.09.05
Не могу поймать VK_RWIN





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский