Имя: Пароль:
1C
1C 7.7
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) ээх.. тоже видать путаю.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс