Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру

C: Программа серверного / клиентского сокета — ошибка клиента при подключении

Я новичок в сети и пытаюсь создать простую программу клиент-серверный сокет на C, где аргументы определяют, должна ли программа работать как клиент или как сервер. Я сделал это с помощью простых операторов if (если установлен флаг, запускать как сервер, иначе запускать как клиент), но я не уверен, как это проверить. Я запускаю свой код с аргументом, чтобы быть сервером в одном терминале (например, на локальном хосте и номере порта 3000), а также открываю другой терминал и запускаю код с аргументом, который должен быть клиентом (также на локальном хосте и на том же порту).

Ожидаемый результат — увидеть, как клиент запрашивает у пользователя сообщение (при успешном подключении) и отправляет это сообщение на сервер, который распечатывает сообщение, однако я не получаю приглашения на клиентском терминале для ввода сообщение.

(Я получил код для поведения сервера и клиента с одного из многих веб-сайтов в Интернете, но они разделяют client.c и server.c, тогда как я хочу объединить их в одну программу .c)

Вот мой код ниже, ошибка вызвана

в клиентской части кода.

Вот точный вывод ошибки:

В одном окне терминала я сначала запускаю программу как сервер:

Затем в другом окне терминала я запускаю программу как клиент:

Это длинная программа без каких-либо включений, поэтому ее нелегко скомпилировать и ее нелегко скомпилировать. Пожалуйста, включите все необходимое для воспроизведения ваших проблем. Но беглый взгляд покажет, что argvi == «-l» никогда не будет тем, что вам нужно (то есть всегда выйдет из строя; и ваш компилятор мог вас об этом предупредить). Используйте strcmp для сравнения строк.

ошибка определения принадлежности клиентского и серверного процессов одному компьютеру

1С сервер стоит на хостовой машине.
На ней же стоит терминал, с которым люди нормально работают.
Была сделана виртуалка, на которой установили клиента 1С и пытаемся подключиться к хостовой машине, к базе на ней.
В ответ получаем сабж:(

ipv6 отключен, файл hosts поправлен, сервер 1С перезапущен и переустановлен, кэш почищен.
Сейчас стоит 8.3.12.1616. На более ранних тоже самое:(

Кто сталкивался с таким? Есть еще способы побороть это?

В подключении базы надо писать именно Имя хостового компьютера с сервером 1С, как его указали в файле hosts

Если писать ip адрес, то ошибка сохраняется

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Ошибка в обмене Ут 11.1 и БУХ 3,0

Суть какая, стоял односторонний обмен из УТ 11.1 в Бух 3.0.
Запускал вручную из Бух.
тут при обмене вылетела ошибка. перезагрузил комп и получается так что 1с не видит те новые данные которые должны попасть в БУХ 3.0.

Нужно исправить это.
И сделать так что нормально работал односторонний обмен из Ут в Бух АВТОМАТИЧЕСКИ. (без сопоставление данных)

Вот такие ошибки бывают
1. Не удалось произвести обмен: Не удалось подключиться к другой программе: : Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединения);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Ошибка при выполнении операции с информационной базой
Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру.

2. (послее слетела информация о новых документах)

: Возникли ошибки при анализе сообщения обмена для корреспондента «ООО «хххх»».
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(

Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру ошибка определения принадлежности клиентского и серверного процессов

68639

Не устроил ответ?
Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру

При запуске или в процессе работы клиент-серверного варианта 1С:Предприятия может возникнуть сообщение об ошибке которое содержит значение 16-ричного кода. Например:

Этот раздел содержит описание возможных причин возникновения наиболее часто встречающихся ошибок и способов их устранения.

Сервер 1С:Предприятия 8.0 является COM+ приложением и взаимодействует с клиентскими приложениями через механизмы DCOM / COM+, обеспечивающие удаленный доступ к объектам через их интерфейсы. Поэтому для нормальной работы клиент-серверного варианта 1С:Предприятия необходима правильная настройка средств DCOM / COM+ как на серверном, так и на каждом клиентском компьютере. Подробно об этом можно прочитать в разделах «Вопросы установки и настройки 1C:Предприятия 8.0 в варианте «клиент-сервер»», «Особенности настройки Windows Server 2003 при установке сервера 1С:Предприятия 8.0», «Особенности работы приложений с сервером 1С:Предприятия». Если при старте или в процессе работы 1С:Предприятия была обнаружена ошибочная ситуация, возникшая в процессе обращения к серверу 1С:Предприятия либо клиентского приложения 1С:Предприятия, либо внешнего соединения, то, наряду с обобщенным описанием ошибки, 1С:Предприятие отображает код ошибки, полученный от DCOM. Этот код может помочь определить причину возникновения ошибки и упростить ее устранение. Полный перечень кодов ошибок, которые могут возвращать функции Windows API, в том числе и функции работы с DCOM приведен, напрмер, на http://msdn.microsoft.com/library/default.asp?url=/library/en-us/randz/protocol/winerror_h.asp. Опыт эксплуатации клиент-серверного варианта 1С:Предприятия позволил выделить среди них наиболее часто встречающиеся.

Ошибки: 00000005, 00000041, 80070005, 80000009, 80030005, 8001011B

Возникают в тех случаях, когда пользователь, от имени которого работает клиентское приложение, не имеет прав доступа к каким-либо ресурсам. В частности, это может означать, что пользователю, от имени которого стартовало клиентское приложение 1С:Предприятия, недоступны либо средства COM+ того компьютера, на котором установлен сервер, либо зарегистрированное на нем COM+ приложение 1CV8, которое является сервером 1С:Предприятия.

Если эта ошибка возникает во внешнем соединении 1С:Предприятия, то это означает отсутствие соответствующих прав у пользователя того приложения, которое обратилось к внешнему соединению. Это может быть любое интерактивное приложение или, например, WEB-сервер. В частности, если в качестве WEB-сервера используется Microsoft Internet Information Services, то таким пользователем может быть пользователь IUSR_ <Имя компьютера>или ASPNET.

Методика настройки прав доступа пользователей к COM+ серверу описана в разделах «Вопросы установки и настройки 1C:Предприятия 8.0 в варианте «клиент-сервер»» и «Особенности использования внешнего соединения 1С:Предприятия в WEB-приложениях».

Возникает, если в свойствах COM+ приложения 1CV8 на компьютере — сервере 1С:Предприятия на закладке Identity установлено, что приложение 1CV8 должно стартовать от имени интерактивного пользователя (Interactive User), но никакой пользователь интерактивно не вошел в серверный компьютер. Рекомендуется, чтобы сервер 1С:Предприятия стартовал от имени пользователя USER1CV8SERVER, создаваемого программой установки 1С:Предприятия, и не зависел от интерактивного входа в серверный компьютер.

Возникает в случае, если на сервере 1С:Предприятия используется операционная система Microsoft Windows Server 2003 и:

серверу на базе Microsoft Windows Server 2003 не установлена роль сервера приложений. Установите эту роль, как описано в разделе «Особенности настройки Windows Server 2003 при установке сервера 1С:Предприятия 8.0».

компонента V8.Server.1 COM+ приложения 1CV8 выключена. Для включения можно выполнить Enable в ее локальном меню.

Может возникнуть в том случае, если клиентское приложение некоторое время (несколько минут) находилась в неактивном состоянии, например из-за засыпания компьютера или долгого ожидания на точке останова в отладчике. Причиной этого является особенность механизма DCOM, обеспечивающего принудительный разрыв соединения с сервером, если клиент долго не проявлял активность.

Может означать отсутствие удаленного доступа к COM+ серверу с клиентского компьютера. Причиной этого может быть:

отключение на компьютере — сервере 1С:Предприятия удаленного доступа к серверу COM+. Для включения в утилите Component Services откройте свойства ветки My Computer и на закладке Default Properties установите флаг Enable Distributed COM on ths computer. Пользователь, от имени которого клиентское приложение обращается к серверу 1С:Предприятия, должен быть определен в политике Local security settings/ User Rights Assignment/ Access this computer from network (возможно, Everyone).

запрет DCOM на клиентском компьютере. Для устранения в утилите dcomcnfg.exe на закладке Default Properties установите флаг Enable Distributed COM on ths computer.

рассогласование протоколов DCOM на клиентском и серверном компьютерах. Настройте протоколы DCOM, как это описано в разделе «Особенности настройки Windows Server 2003 при установке сервера 1С:Предприятия 8.0».

Свидетельствует о противоречивости настроек DCOM в системном реестре на клиентском или серверном компьютере. Выполните настройки COM+ / DCOM на серверном и клиентском компьютере так, как это описано в разделе «Особенности настройки Windows Server 2003 при установке сервера 1С:Предприятия 8.0». Возможно, потребуется переустановка операционной системы.

Ошибки 800706BA, 800706BE

Сигнализируют об аварийной ситуации на сервере 1С:Предприятия, которая привела к его автоматическому перезапуску.

Может возникнуть в клиентском приложении в процессе обращения к серверу 1С:Предприятия, если при перерисовке экрана клиентское приложение обратилось к серверу 1С:Предприятия повторно. Это может быть проявлением внутренней ошибки клиентского приложения 1С:Предприятия. Для ее оперативного исправления желательно описать обстоятельства ее возниконовения и обратиться на линию технической поддержки 1С:Предприятия 8.0.

Ответы (2 шт):

Задача состоит в том, чтобы добиться правильного адреса при пинге через имя. Допустим, в hosts прописан следующий адрес 192.168.56.201 SERVER_1C Тогда на клиенте ping SERVER_1C должен выдавать этот ip. Возможна проблема из-за использования ipv6. Дополнительно стоит проверить как выполняется этот пинг на самом сервере.

При запуске командой docker, либо в docker-compose необходимо задать следующие параметры для сервиса (контейнера):

Далее необходимо, чтобы your-srv.your.domain резолвился на компьютере откуда выполняется подключение, для этого достаточно добавить запись в hosts , либо на сервере DNS.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector