![]() |
|
v7: RiK_Inet.dll. Голову сломал. Не приходит ответное сообщение от сервера. | ☑ | ||
---|---|---|---|---|
0
NS
13.08.13
✎
14:34
|
Есть сервер (не 1С), посылаю на него тестовое сообщение.
Сообщение приходит, и сервер отсылает его обратно, без изменений, в том-же формате. В итоге на клиенте (1С) не срабатывает Инет_СтрокаОтСервера(Стр) Что я делаю не так? |
|||
1
Ковычки
13.08.13
✎
14:40
|
Купить у Садовникова попугайчика и мешок корма.
|
|||
2
NS
13.08.13
✎
14:42
|
(1) Я ему написал, но мне от него битый архив пришел.
|
|||
3
NS
13.08.13
✎
14:48
|
вот код
перем инет; Функция ЗагрузитьКомпоненту(ИмяКомпоненты, ИмяКласса, ИмяДЛЛ) Если ПодключитьВнешнююКомпоненту(ИмяКласса) <> 1 Тогда Если ЗагрузитьВнешнююКомпоненту(ИмяДЛЛ) <> 1 Тогда Если ПустаяСтрока(ИмяКомпоненты) = 0 Тогда Предупреждение("Компонента "+ИмяКомпоненты+" ("+ИмяКласса+", "+ИмяДЛЛ+") не загружена! |Работа системы невозможна!!!"); КонецЕсли; Возврат 0; КонецЕсли; КонецЕсли; Возврат 1; КонецФункции Процедура Сформировать() Если (ЗагрузитьКомпоненту("RiK_Inet", "AddIn.R_Inet", "RiK_Inet.dll") = 0) Тогда Иначе предупреждение("Компонента загружена",30); КонецЕсли; Инет = СоздатьОбъект("AddIn.R_Inet"); сообщить(Инет.ОтправитьСтроку("192.168.0.93", 9999, "test", 0)); КонецПроцедуры Процедура ПРиЗакрытии() инет=0; КонецПроцедуры Процедура Инет_СтрокаОтСервера(Стр) сообщить(стр); КонецПроцедуры |
|||
4
Ёпрст
гуру
13.08.13
✎
14:56
|
А это требование сделал ?
3. Для работы с сокетами в глобальном модуле должны присутствовать экспортируемые процедуры: Инет_СтрокаОтКлиента(Стр, ИдСоединения) - вызывается на сервере, когда от клиента приходит сообщение строкой. Инет_ФайлОтКлиента(ИмяФайла, ИдСоединения) - вызывается на сервере, когда от клиента приходит сообщение файлом. Инет_СтрокаОтСервера(Стр) - вызывается на клиенте, когда от сервера приходит ответ строкой. Инет_ФайлОтСервера(ИмяФайла) - вызывается на клиенте, когда от сервера приходит ответ файлом. |
|||
5
Ёпрст
гуру
13.08.13
✎
14:57
|
по идее, туда должно событие прилетать.. не ?
ЗЫ: я этой вк не баловался, могу ошибаться. |
|||
6
NS
13.08.13
✎
14:57
|
(4) Обязательно все четыре?
У меня просто описания компоненты нет. Сейчас попробую. |
|||
7
Ёпрст
гуру
13.08.13
✎
15:00
|
ну и вот эту статью еще..
http://www.rikcenter.ru/download/statia.rar |
|||
8
Ёпрст
гуру
13.08.13
✎
15:00
|
там есть примеры.
|
|||
9
Ёпрст
гуру
13.08.13
✎
15:00
|
сама вк и als тут
http://www.rikcenter.ru/download/RiK_Inet.rar |
|||
10
NS
13.08.13
✎
15:00
|
(5) Мой сервер получает, ответное послание до 1С не доходит.
Добавил все четыре в глобальный модуль. Со словом Экспорт. |
|||
11
NS
13.08.13
✎
15:01
|
(9) У меня есть ВК и есть пример.
В нем 1С++ подключается - это обязательно? |
|||
12
Ёпрст
гуру
13.08.13
✎
15:02
|
(11) да нет, не обязтельно
|
|||
13
Ёпрст
гуру
13.08.13
✎
15:03
|
а если так ?
Инет.ОтправитьСтроку("192.168.0.93", 9999, "test", 1) т.е ждать ответ от сервера.. что прилетает ? |
|||
14
NS
13.08.13
✎
15:05
|
(13) Ё! Работает :) Спасибо!
А что там последним параметром? |
|||
15
NS
13.08.13
✎
15:06
|
А, кажись понял, ждать ответ от сервера? :)
|
|||
16
Ёпрст
гуру
13.08.13
✎
15:10
|
(15) ага
|
|||
17
Ёпрст
гуру
13.08.13
✎
15:10
|
ОтправитьСтроку(<IPАдрес>, <НомерПорта>, <Сообщение>, <ОжидатьОтвета>)
@Назначение: Создается новое подключение к серверу с адресом <IPАдрес> и портом <НомерПорта>, и на сервер отправляется строка <Сообщение>. При получении строки на сервере будет вызвана процедура 1С Инет_СтрокаОтКлиента(Стр, ИдСоединения). Где: Стр - строка сообщения, пришедшая от клиента. ИдСоединения - строка, GUID, идентификатор текущего соединения на сервере. В случае необходимости ответить клиенту, необходимо указывать именно это ИдСоединения, чтобы сервер ответил нужному клиенту. @Параметры: <Адрес> - IP-адрес сервера, на который отправляем сообщение; <НомерПорта> - номер порта сервера, на который отправляется сообщение; <ТекстСообщения> - Строка, текст отправляемого сообщения; <ЖдатьОтвета> - 1 - клиент не отсоединяется от сервера пока не придет ответ, 0 - клиент отсоединяется от сервера сразу после отправки сообщения. |
|||
18
Ёпрст
гуру
13.08.13
✎
15:11
|
там еще где-то параметр задается, сколько ждать этого ответа..
|
|||
19
NS
13.08.13
✎
15:11
|
Ну я тупой. Совсем запарился, до конца не прочитал описание метода.
|
|||
20
NS
13.08.13
✎
15:13
|
(18) Это параметр вроде в коде компоненты прописан.
Или нет? |
|||
21
NS
13.08.13
✎
15:20
|
1С + работа с сокетами
Вот тут последний параметр только с нулем сравнивается. Наверно бесконечно ждет. В коде прописано только ожидание подключения. |
|||
22
Ёпрст
гуру
13.08.13
✎
15:20
|
(20) ээх.. тоже видать путаю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |