![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка
Иг © (2003-10-03 17:23:00)
Доброго дня всем! Подскажите, пожалуйста, причину появления этой ошибки при запуске приложения на некоторых компах. Использую TServerSocket, режим stNonBlocking. Ошибка возникает в момент, когда в обработчике FormActivate пытаюсь выполнить:
try
ServerSocket.Active := true;
except
showMessage("Active Error, blin..");
raise;
end;
и надежно вываливаюсь.. Самое обидное, что на некоторых машинах все работает безупречно, а на других - ошибка. Везде - Win98. Может быть нет каких-то dll-ок? Или еще что?..
Люди, помогите, пропадаю почем зря!..
Иг (2003-10-07 11:14:00) [1]
> Verg
Вот и еще раз большое спасибо.
Verg (2003-10-07 10:59:00) [2]1.
> Пока, по крайней мере. Но их отсутствие в последних версиях
> Делфей наводит на мысль появления чего-то нового взамен
> (хотя я знаю, нет проблем для использования этих компонент
> и в следующих версиях). Вот и хочу узнать, на что ориентироваться..
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1063815689&n=4
2. Indy - целая палитра различных компонент.
Иг (2003-10-07 10:51:00) [3]
> Verg
"Эти" вполне устраивают. Пока, по крайней мере. Но их отсутствие в последних версиях Делфей наводит на мысль появления чего-то нового взамен (хотя я знаю, нет проблем для использования этих компонент и в следующих версиях). Вот и хочу узнать, на что ориентироваться..
> Digiman
Вот поговоришь с вами, и чувствуешь себя таким темным.. А потом почитаешь, что вы писали, и так много проясняется.. ;-) Благодаря твоим здесь сообщениям кое-что уже довольно прилично заработало, хотя, если честно, понятие "синхронного транспортного режима", например, до сих пор остается для меня довольно туманным :-). Я так думаю, он мне пока не подходит :-).
Digitman (2003-10-07 10:35:00) [4]
> Verg © (07.10.03 10:17) [17]
>
> > наподобие TClient/ServerSocket
>
>
> А чем эти не устраивают?
Иг, а действительно - чем ?
Verg (2003-10-07 10:17:00) [5]
> наподобие TClient/ServerSocket
А чем эти не устраивают?
Digitman (2003-10-07 10:17:00) [6]
> Иг
критериев "удобности" не менее чем три :
1. Встроенная в компоненты готовая реализация того или иного прикладного протокола инф.обмена, базирующегося на выбранном тобой транспортном протоколе (например, FTP и HTTP базируются на TCP/IP)
2. Наличие и прозрачность исх.кода компонентов для целей изучения их поведения и отладки
3. Мультирежимность компонентов : возможность выбора асинхронного или синхронного транспортного режима, возможность организации одно- или многопоточной транспортной логики
Иг (2003-10-07 09:55:00) [7]
Ну да, совершенно безо всякого злого умысла. :-) И можно попутно еще один вопрос? Как к профессионалам в данной области.
Посоветуйте, какие дельфийские компоненты наподобие TClient/ServerSocket наиболее удобно использовать для удаленного доступа в приложениях?
Verg (2003-10-07 09:43:00) [8]
> Иг (07.10.03 09:40) [13]
Ах, вон ты о чем...
Иг (2003-10-07 09:40:00) [9]
...А что, в анкетах неправильно написано? ;-))
Verg (2003-10-07 09:08:00) [10]
> господа Раки!..
Чего-ооо?
Иг (2003-10-07 09:01:00) [11]
Значит, только TCP/IP. Что ж, вопрос считаем закрытым. Примите мои благодарности за помощь, господа Раки!..
Digitman (2003-10-07 08:47:00) [12]
> Sockets provide connections based on the TCP/IP protocol,
> but are sufficiently general to work with related protocols
> such as ... or Novell’s IPX/SPX family. Вот я и думаю -
> обязательно должен быть установлен TCP/IP, а если установлен
> IPX/SPX - этого недостаточно?
когда ты создаешь гнездо вызовом socket(), то одним из параметров ты обязан указать нужный тебе протокол. Это может быть и TCP/IP и IPX/SPX и какой-то еще из стандартных. Но коль скоро ты его требуешь, он (протокол) д.б. инсталлирован в системе и привязан хотя бы к одному из сетевых интерфейсов.
компоненты TClientSocket и TServerSocket при создании гнезд требуют именно TCP/IP, и повлиять на это (изменить жестко прошитые протокольные требования компонентов) ты не можешь.
Verg (2003-10-06 18:13:00) [13]
Я предельно серъезен, между прочим.
>Я вот тут бросился читать
И......?????
Вот дельфозный хелп:
TServerSocket manages server socket connections for a TCP/IPserver.
Unit
ScktComp
Description
Add a TServerSocket object to a form or data module to turn an application into a TCP/IP server. TServerSocket listens for requests for TCP/IP connections from other machines, and establishes connections when requests are received.
Иг (2003-10-06 17:55:00) [14]
..Хорошо вам смеяться.. Я вот тут бросился читать, про сокеты-то пишут в help"e - Sockets provide connections based on the TCP/IP protocol, but are sufficiently general to work with related protocols such as ... or Novell’s IPX/SPX family. Вот я и думаю - обязательно должен быть установлен TCP/IP, а если установлен IPX/SPX - этого недостаточно? Или это тот автомобиль, от которого проку только - укусить себя за ...?
Verg (2003-10-06 17:28:00) [15]
Как говорится, ключи у меня уже есть, осталось где-то взять автомобиль....
Digitman (2003-10-06 17:22:00) [16]
> Иг
ну-у-у-у ... в первом приближении - да ... как минимум запрашиваемый гнездом протокол должен быть установлен
Иг (2003-10-06 17:17:00) [17]
Спасибо огромное за подсказку.
Да, действительно, TCP/IP-протокол не установлен. Установлены протоколы IPX/SPX и NetBEUI. Получается, для работы сокетов я должен всего лишь добавить протокол?
Digitman (2003-10-06 09:31:00) [18]
вот фрагмент исх.текста :
FSocket := socket(PF_INET, SOCK_STREAM, IPPROTO_IP);
if FSocket = INVALID_SOCKET then raise ESocketError.CreateRes(@sCannotCreateSocket);
отсюда видно, что гнездо не могло быть создано по кр.мере по одной причине - отсутствует установленный TCP/IP-протокол
Digitman (2003-10-06 09:19:00) [19]
> и надежно вываливаюсь
с каким сообщением об исключении ? дословно ?
Иг (2003-10-06 09:10:00) [20]
Порт, как и указывают, поставил больше 1000. Сейчас, например, 1977. И ошибка на занятый порт должна быть другая указана, мне кажется. Хотя, от безвыходности буду пробовать все..
Что же еще???...