Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему МИДАС-сокеты не могут соединиться? [D7, WinXP]


Aleksandr ©   (2004-02-13 12:56:00) 

Две программы - сервер данных и клиент, соединение МИДАС через TSocketConnection. Тест на локальных сетях между XP-98-2000-2003 все прекрасно отработал. Но вот у первого же юзвера-тестера на сетке из 2-х 98-х - полный крах. По UDP-broadcast программы друг друга обнаруживают, TCP-протокол установлен, с одного компа другой пингуется как по адресу, так и по названию, Borland Socket Server запущен, проксей и файрволов не стоит, но связи через TSocketConnection нет, и все! Хоть застрелись, млин. DCOM отпадает, потому что в 98-х его нету. Что может быть причиной? Или, может, для сеток из 98-х просто в принципе он не работает?


Digitman   (2004-02-16 13:35:00) [1]

убедись для начала любым иным способом, что BSS как просто некий TCP-сервер активен на интересующем хосте/порту


Aleksandr   (2004-02-16 13:22:00) [2]

"подозреваю, что оно банально связано с гнездовым транспортом..." - и что же мне тут делать? :(


Digitman   (2004-02-14 11:33:00) [3]

DCOM-технология/механизм не имеет никакого отношения к связке TSocketconnection + BSS

эта связка как раз и придумана для того чтобы не использовать DCOM; в этой связке используется только COM-технология (+ транспорт + собственный маршаллинг)

касаемо исключения ..

подозреваю, что оно банально связано с гнездовым транспортом, а не с MIDASом

фрагмент исх.текста  SConnect (D5):

procedure TSocketTransport.SetConnected(Value: Boolean);
begin
 if GetConnected = Value then Exit;
 if Value then
 begin
   if (FAddress = '') and (FHost = '') then
     raise ESocketConnectionError.CreateRes(@SNoAddress);
   FClientSocket := TClientSocket.Create(nil);
   FClientSocket.ClientType := ctBlocking;
   FSocket := FClientSocket.Socket;
   FClientSocket.Port := FPort;
   if FAddress <> '' then
     FClientSocket.Address := FAddress else
     FClientSocket.Host := FHost;
    FClientSocket.Open; //скорей всего здась и происходит искл-е
 end else
 begin
   FSocket.Close;
   FClientSocket.Free;
   if FEvent <> 0 then WSACloseEvent(FEvent);
 end;
end;


Aleksandr   (2004-02-13 17:27:00) [4]

2 Digitman :
Ну, мне казалось, что я точно указал, где: "но связи через TSocketConnection нет". Простите. Разумеется, имелось в виду, что при выполнении строки
 
 SocketConnect.Connected:=true
 

в true он не устанавливается с сообщением "Невозможно установить соединение".

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


Digitman   (2004-02-13 14:35:00) [5]


> Aleksandr ©   (13.02.04 12:56)  


>  Но вот у первого же юзвера-тестера на сетке из 2-х 98-х
> - полный крах


я уже язык до костей стесал одним и тем же контрвопросом - ТОЧНАЯ ДИАГНОСТИКА ОТКАЗА ГДЕ ? что. прямо так и пишет, мол, "полный крах" ?

блинн, детство какое-то играет у наших, с позволения сказать, славных программеров в одном причинном месте(


> DCOM отпадает, потому что в 98-х его нету


скачай и установи его отдельным пакетом, если BSS развернут на машине-сервере паод управлением Маздая


Aleksandr   (2004-02-13 14:31:00) [6]

Почему? BSS юзает 211 по умолчанию. 211-й и стоит и у клиента в настройках соединения, и у сервера в BSS.


Erik   (2004-02-13 14:26:00) [7]

Наверное у него высшие порты закрыты. BSS использует после 1024-го порта.


Aleksandr   (2004-02-13 13:16:00) [8]

Ну, midas.dll я не поставлял туда, но в обе программы включил в проект uses midaslib.


Fay   (2004-02-13 13:10:00) [9]

м.б. какой длл не хватает?


Наверх

Титульная страница Поиск, карта сайта Написать письмо