Форум: "Сети";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизClientSocket и клиент microsoft Найти похожие ветки
← →
Эдик (2003-11-20 18:18) [0]Всем привет!
Подскажите пож., неужели компонент ClientSocket не может работать без Клиента сетей Microsoft в сетевом окружении, ато у нас сеть Microsoft под запретом... что делать?
И второе, как проще всего серваку отслеживать отпавших клиентов, onDisconnect далеко не всегда отрабатывает...почему? (последовательный перебор по таймеру не предлагать)
Заранее благодарен.
← →
Reindeer Moss Eater (2003-11-20 18:19) [1]неужели компонент ClientSocket не может работать без Клиента сетей Microsoft
Заблуждение какое
← →
Эдик (2003-11-20 18:50) [2]Проверено на практике... Ставишь клиента - сообщения отсылаешь, сносишь - нет
← →
Fredericco (2003-11-20 18:51) [3]
> (последовательный перебор по таймеру не предлагать)
А трейд?
← →
Reindeer Moss Eater (2003-11-20 18:56) [4]Проверено на практике... Ставишь клиента - сообщения отсылаешь, сносишь - нет
Ну и что?
Если ткнуть карандашом в ухо (в оба уха), то пропадет звук в телевизоре. Какая связь между карандашом и телевизором?
Нужен сетевой протокол, а клиент сетей Майкрософт или еще каких сетей - по барабану.
← →
Эдик (2003-11-20 18:59) [5]стоит Novell Netware Client и протокол TCP/IP - не работает...
← →
Reindeer Moss Eater (2003-11-20 19:01) [6]"Не работает" и "не может работать в принципе" - это не одно и то же.
и протокол TCP/IP
Чья реализация TCP/IP стоит?
← →
Эдик (2003-11-20 19:07) [7]какие настройки в сетях должны быть?табу одно - Клиент сетей Microsoft
← →
Reindeer Moss Eater (2003-11-20 19:11) [8]Оставь свою программу в покое и займись диагностикой TCP/IP.
Плясать надо от печки.
← →
Эдик (2003-11-20 19:17) [9]реализация конечо Microsoft
← →
Эдик (2003-11-21 16:02) [10]Все работает пока в настройках сети присутствует Клиент сетей Microsoft, только сношу - ServerSocket работа а клиент отказывается, не хочет открыть сокет :-(((. Делфи и винда тут не при чем, пробовал на разных машинах.... с Можете попробовать:
C:\Program Files\Borland\Delphi6\Demos\Internet\Chat\ есть пример от Borland, откомпильте и запустите на выполнение 2 экземпляра программы, сможете обмениваться сообщениями, потом попробуйте удалить клиента Microsoft и вновь запустите.....не можите. Почему и как с этим бороться???
Кстати, Indi клиент и сервер работают без клиента Microsoft аж бегом.
← →
Digitman (2003-11-21 16:21) [11]
> не можите. Почему и как с этим бороться???
головой думать, а не сдирать пример и поплевывать в потолок в ожидании что пример будет обязательно работать
примеры даются для другого - для изучения общей логики
есть события On[Client]Error, есть обработка исключений ESocketConnection, ESocketError - все это дает исчерпывающую инф-цию для анализа "глюков" и принятия соотв.решений
← →
Эдик (2003-11-21 17:01) [12]Господа Товарищи! Да никто не сдирает примеров, пользуюсь я, конечно, событием OnError, возвращает ошибку - 10110
О примере упомянул, только для того, чтоб Вы у себя ситуацию смоделировать смогли...
← →
Digitman (2003-11-21 17:21) [13]WSA_E_NO_MORE = WSABASEERR+110;
как выглядит точный текст сообщения об исключении ?
← →
S@shka (2003-11-21 19:32) [14]Indy работают через WINSOCK 2
← →
Эдик (2003-11-21 19:55) [15]1. происходит событие OnError, параметр код ошибки - 10110
исключительная ситуация не генерируется, какой текст сообщения?
2. в соседнем форуме обсуждали ClientSocket, утверждали, что он тоже через WINSOCK2 работает...
← →
Digitman (2003-11-23 10:28) [16]
> какой текст сообщения?
если ты не обрабатываешь это событие, то при возникновении ошибки ты должен увидеть диал.окно с сообщением об ошибке, включаяя ее код и имя winsock-ф-ции, при выполнении которой ошибка возникла
приведения полного текста этого сообщения я и пытаюсь от тебя добиться)
> обсуждали ClientSocket, утверждали, что он тоже через WINSOCK2
> работает
так и есть.
для NT-платформы - безусловно
для win9x-систем - при условии обновления winsock-подсистемы
← →
Эдик (2003-11-28 20:57) [17]Разобрался с проблемой, делюсь:
IP адрес присваивался свойству Host а не Adres, в присутствии клиента Microsoft "удавалось" компоненту найти правильный IP по адресу - IP, без него - нет...
Насчет Socket2, вот фрагмент ScktComp:
procedure Startup;
var
ErrorCode: Integer;
begin
ErrorCode := WSAStartup($0101, WSAData);
if ErrorCode <> 0 then
raise ESocketError.CreateResFmt(@sWindowsSocketError,
[SysErrorMessage(ErrorCode), ErrorCode, "WSAStartup"]);
end;
Какой сокет откроется потом? - 1.1. Так вот.
Кстати, текст ошибки - Windows socket error: (10110), on Api (ASync Lookup), ничего не говорит, а кода 110 нет в модуле WinSock. Получается - неизвестная ошибка.
Если я не прав - не пинайте пож. ногами, готов выслушать Ваше мнение
← →
Anatoly Podgoretsky (2003-11-28 21:22) [18]Как не говорит, а это что по твоему? ASync Lookup
← →
Digitman (2003-11-29 11:29) [19]
> Кстати, текст ошибки - Windows socket error: (10110), on
> Api (ASync Lookup), ничего не говорит
еще как говорит !
сразу понятно, что отказ связан с преобразованием "имя хоста --> адрес хоста"
а именно - с вызовом ф-ции [WSAAsync]GetHostByName(), что не имеет ничего общего с фрагментом кода, приведенным тобой : "исключение" возбуждается вовсе не здесь, и это вообще не исключение
> Какой сокет откроется потом? - 1.1
до "открытия сокета" дело вообще не доходит, и затребованная версия Winsock именно 1.1 здесь так же ни при чем абсолютно.
отказ ароисходит на этапе вызова вышеупомянутой Lookup-ф-ции еще ДО того как будет вызвана ф-ция [WSA]Socket
поэтому к тебе сразу и был вопрос : приводи ТОЧНЫЙ код сообщения, коль тебе он ни о чем не говорит
теперь - о коде ошибки
WSA_E_NO_MORE = WSABASEERR+110;
этот код был введен в Winsock2, поэтому ни в файле Winsock.pas ни в хэлпе от Борланда он не фигурирует
на самом же деле при WSAStartup($0101, WSAData) инициализируется именно WS2
← →
Эдик (2003-11-29 17:26) [20]Спасибо за ответы. Небольшие непонятки получились, пример я привел для того, чтоб спросить, какой всетаки сокет открывается... Мне не совсем понятно, почему 1.1 это WS2, хотя в Indi тоже 1.1 стоит, максимальное версия сокета, возвращаемая WSAStartup у меня - 2.
А почему без клиента Microsoft GetHostByName не смогла определить IP по IP, бред конечно так делать... просто спортивный интерес так сказать :-)))
← →
Digitman (2003-11-30 12:37) [21]
> какой всетаки сокет открывается
никакой.
WSAStartup не имеет отношения к понятию "открытие сокета"
> почему без клиента Microsoft GetHostByName не смогла определить
> IP по IP,
пиши как положено : св-во Host - для задания ИМЕНИ хоста, св-во Address - для задания АДРЕСА хоста ... но не наоборот ... и будет тебе счастье)
← →
Эдик (2003-12-01 11:20) [22]Спасибо всем!!!
Поправте меня, если я не прав...
WSAStartup не создвет сокет, но должна вызываться в обязательном порядке перед работой с сокетами, вот строка из хелпа:
The Windows Sockets WSAStartup function initiates use of the Windows Sockets DLL by a process.
В ней параметром задается версия сокета, каку версию задашь, с такой в дальнейшем у будешь работать.
← →
Digitman (2003-12-01 11:35) [23]
> WSAStartup не создвет сокет
верно
> В ней параметром задается версия сокета
не "версия сокета", а версия требуемой спецификации подсистемы Winsock
← →
Эдик (2003-12-01 11:53) [24]А какая принципиальная разница? Вот цитата:
The highest version of Windows Sockets support that the caller can use.
Чтото типа - наибольшая версия Windows Sockets support которую вызывающий сможет исспользовать. Задал 1.0, все, 1.1 уже будет не доступна в твоем приложении. Так?
← →
Digitman (2003-12-01 12:37) [25]
> А какая принципиальная разница? Вот цитата:
> The highest version of Windows Sockets support that the
> caller can use.
под "версией Windows Sockets" здесь подразумевается версия спецификации как таковой
> Задал 1.0, все, 1.1 уже будет не доступна в твоем приложении.
> Так?
задав версию 1.0 ты не сможешь воспользоваться в полной мере фунц-тью 1.1
← →
Эдик (2003-12-01 12:44) [26]Все, умываю руки, вопрос исчерпан, еще раз СПАСИБО!!!
← →
Alex Konshin (2003-12-01 15:08) [27]Winsock 1.x в NT/2K/XP реализуется как враппер для Winsock2. То есть, реально все равно все работает через WS2, но API разный.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.025 c