Страница 1 из 2
fbclient.dll обламывается работать по TCP
Добавлено: 24 май 2007, 12:53
Deem
FB 1.5 Киентская библиотека исп. - fbclient.dll. Работа в LAN.
Иногда происходит такая вещь: на некоторых машинах клиентская прога отказывается работать с сервером по TCP.
Ответ такой (машина с FB - SERVER (192.168.0.1)):
Код: Выделить всё
Unable to complete network request to host "SERVER".
Failed to establish a connection.
или такой
Код: Выделить всё
Unable to complete network request to host "192.168.0.1".
Failed to establish a connection.
TCP на машине работает, работают клиенты самодельного чата и др.
И еще : если указать клиенту сетевой адрес этой же машины (на ней тоже висит проверочный FB), то он вяжется с FB по TCP.
"Злые языки" говорят, что у FB c сетью проблем нет.
Что происходит? Подскажите.
Добавлено: 24 май 2007, 20:09
kdv
Что происходит? Подскажите.
проверяйте firewall, антивирусы, клиенты proxy.
считаю что обсуждать тут нечего. возьмите чистую машину с корректными настройками tcp, без упомянутой выше дряни, и она ВСЕГДА будет коннектиться.
промониторить коннект можно tcpview и прочими средствами.
Добавлено: 25 май 2007, 10:02
Deem
Егеж.... Я и говорю: чистая машина коннектилась. А после установки N-ного числа разных прог - перстала. Я пытался выяснить, кто из прог виноват - не отловил. У меня на машине ни файрволов, ни антивирусов. Долго не было аськи. Все работало. Как-то поигрался я с ней - разные клиенты ставил, симы, ICQ, трилианы . И вдруг у меня тоже перестало коннектиться по TCP. Мои программки на сокетах прекрасно работают.
Обрадовался, что нашел причину - аська. Деинсталлировал все - не вяжется. На машине стоит местный FB (для испытаний). После переинсталляции его, клиент стал коннектится к удаленному FB по TCP. О, думаю, -решение. Снова налепил асек. Сначала все работало, потом снова отвалилось. Зарезал асек, переисталлировал местный FB - и нихрена. Сначала была мысля, что какая-то DLL системная виндовая кем-то заменяется и клиент не может с сокетами работать. Но другие проги работают.
По NamedPipe вяжется всегда.
При попытке связи по TCP матюкается так:
Код: Выделить всё
Unable to complete network request to host "SERVER".
Failed to establish a connection.
Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
Такая хрень произошла у меня на XP без паков. На других машинах с такой фигней - W2000 SP4.
Пусть ответит только тот, кто такое видел и вышел из положения. А разных умозаключений, типа "FB без изьянов, а ошибка в твоей ДНК" я могу и сам накидать. Спасибо.
Добавлено: 25 май 2007, 10:41
hvlad
"FB без изьянов, а ошибка в твоей сетке"
так устраивает ?
ping SERVER что говорит ?
Добавлено: 25 май 2007, 10:52
Deem
Говорит: все ништяк. Вяжусь на 192.168.0.10 (это мой сетевой и FB есть) - усе работает по TCP. Такое впечатление (и скорее всего), что виновата не машина клиента, а сервер кого хочет, того и пускает по TCP. Остальных по FIFO. В качестве сервера W2000 SP4, так касперский есть.
Но на сервере ничего не изменялось, тогда как изменялись результаты коннекта к нему.
Слгласен, в сети что-то не то. Щас проверю другой прогой коннект к серваку.
Добавлено: 25 май 2007, 11:00
Deem
Запустил на сервере свой NETChatServer (на сокетах). Со своей машины приконнектился своим NETChatClient, и представьте себе, что все прекрасно работает. Ну и чего делать? При чем тут "пакеты" и другая лабуда? Они идут как надо.
Добавлено: 25 май 2007, 11:34
hvlad
Deem писал(а):Говорит: все ништяк. Вяжусь на 192.168.0.10 (это мой сетевой и FB есть) - усе работает по TCP
Слово "ништяк" не присутствует в списке системных сообщений, выбирай слова - ты не на дискотеке, это раз.
Твой ИП никого не интересует, речь шла о пинге по имени, это два.
Сетевой протокол FIFO мне лично не известен, это три.
Раз ты сам пишешь программы (аж!) на сокетах, то дожен понимать что обозначает системное сообщение, выдаваемое тебе клиентом FB, это четыре.
Хватит ?
Добавлено: 25 май 2007, 11:43
WildSery
Deem писал(а):В качестве сервера W2000 SP4, так касперский есть.
FB в исключения добавлен?
Добавлено: 25 май 2007, 13:39
Deem
Да, включен.
Но вот хохма: SERVER/3050 все прекрасно связалось по TCP! Чисто "на дурняк", чем черт не шутит, воткнул. И шо это такое? А у клиента fbclient.dll и настроек (в файле) нету. Он чо, самолично решил вязаться на другой порт?
А это пишет IBExtert при проверке коннекта при использовании SERVER и TCP :
Attempting to connect to:
server:d:\lenbase\newlenbase.fdb
Connecting... Failed!
------------------------------------
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Unable to complete network request to host "server".
Failed to establish a connection.
Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
.
А это при SERVER/3050:
Attempting to connect to:
server/3050:d:\lenbase\newlenbase.fdb
Connecting... Passed!
Server version: WI-V6.3.2.4731 Firebird 1.5
Attempting to connect to services manager... Passed!
Disconnecting from database... Passed!
Блин, как это обьяснить? Кто-то погрыз fbclient.dll? Так он сто раз копировался и переустанавливался. И этот метод помог и на других машинах с W2000, которые давно отказались по TCP работать.
Это, типа, как бельченок говорил: загадка природы.
А теперь можно обсудить снифферы, файрволы и прочие прокси-клиенты.

Добавлено: 25 май 2007, 13:56
Deem
Народ, а теперь просветите меня, при пмощи чего я мог отловить этот вариант (клинт коннектится не на тот порт). И на какой машине стоило бы это искать (думаю на серваке).
Хотя, ирреальная какая-то ошибка. Кто мог в рантайме подпортить строку коннекта? Причем, уже составленную строку я вывожу на экран при коннекте, и там мусора ранее (пока все работало) не наблюдалось. Ипользую IBX. Блин, да причем здесь он, если IBExpert делал то же самое?
Добавлено: 25 май 2007, 14:30
Deem
Однозначно нашел причину херни (на моей конкретно машине) : fbclient.dll при установленном на локальной машине FB лезет в его конфиг (сволочь!) и использует (зачем?) порт, который указан же локальному FB (!), для доступа к удаленному - если в строке коннекта не указан конкретный порт !
Это глюк или фича?
На других машинах еще не проверил, но там тоже могут стоять embedded - сервера.
И снова "на дурняк" определился глюк. Чисто "а что, если".
Зла не хватает. Я, конечно, очень люблю FB (не связывался бы с ним), но заявления некоторых товарищей на фоне подобных выкрутас, раздражают: сеть херовая или мозги из ж... растут (Пилите, Шурочка, пилите. Они - золотые!).
Ладно, я не по злому.

Добавлено: 25 май 2007, 14:40
Deem
Не удержусь: в который раз ворумы бесполезны, и хавцы на них тоже.

Добавлено: 25 май 2007, 14:42
hvlad
Deem писал(а):Однозначно нашел причину херни (на моей конкретно машине) : fbclient.dll при установленном на локальной машине FB лезет в его конфиг (сволочь!) и использует (зачем?) порт, который указан же локальному FB (!), для доступа к удаленному - если в строке коннекта не указан конкретный порт !
Это глюк или фича?

Если бы ты, зайчоног, иногда читал релизные ноты, то не морочил бы голову себе и другим
Добавлено: 25 май 2007, 14:49
Deem
Папа-заец, подскажи в каком разделе. Буду очень благодарным. Кстати, кто-нить кроме меня (нечитающего) упомянул о такой возможности? Ну хоть бы ты? А раздельчик скажи.
А даже если и есть там об ентом, все равно гавно. Т.к. читается даже конфиг embedded - сервака для коннекта на совсем другую машину. А для какой такой великой цели?
Добавлено: 25 май 2007, 15:02
Deem

Да, таки есть такая глупость. И ей пофиг, чья это root-директория: клиентская или сервера. Но написано нечеловеческим языком. Читал я это несколько раз ранее. Но в моем контексте даже и не вспомнил.
А форумы для чего? Что не вспомнит один, "должны" вспомнить другие. Ладно.
Добавлено: 25 май 2007, 15:14
WildSery
Deem писал(а):А форумы для чего? Что не вспомнит один, "должны" вспомнить другие. Ладно.
Т.е. ты утверждаешь, что мы тут на форуме
обязаны быстренько вспомнить все-все возможные проблемы с подключением и с кривыми настройками, вывалить тебе список с фильтром на твои уже опробованные варианты, чтобы ты просмотрел каждое и попробовал, а вдруг это
оно?
Добавлено: 25 май 2007, 15:33
Deem
Ша, Дикий, уже ни хто ничего не утверждает.
Добавлено: 25 май 2007, 17:03
WildSery
Кстати, а зачем тебе локальный порт отличный от удалённого?
Добавлено: 25 май 2007, 17:50
Deem
Я настроил локальный (но он не локальный, он нормальный, только стоит на моей машине, я на нем гоняю базы при тестировании изменений) сервачек на 3000 порт, тк отрабатывал работу через прокся, туннели, друю всякую лабуду. А клиент стоит совсем в другой папке, вяжется на сервак на ругой машине с работающей базой.
И фигли ему лезть в папку местного сервака?
Добавлено: 28 май 2007, 15:26
kdv
лучше скажи, фигли ты тут нам мозги парил?

два конца свести про порты - это ж элементарно. пусть даже для тебя оказалось неожиданностью что клиент использует конфиг.
Причем ведь, рассказывал, что с разных с компов клиент не работает.
p.s. я вообще был против такого безобразия, изначально. т.е. клиент никогда никаких конфигов не хотел. и не надо было. но...