Снегопат
https://snegopat.ru/forum/

Socket need !!!
https://snegopat.ru/forum/viewtopic.php?f=3&t=584
Страница 1 из 1

Автор:  lustin [ 16 фев 2014, 11:38 ]
Заголовок сообщения:  Socket need !!!

Кто-нибудь может сказать как из скрипта создать серверный сокет слушающий определённый порт

нужно что-то подобное:

Код:
var io = require('socket.io').listen(5432);

io.sockets.on('connection', function (socket) {
  io.sockets.emit('this', { will: 'be received by everyone'});

  socket.on('private message', function (from, msg) {
    console.log('I received a private message by ', from, ' saying ', msg);
  });

  socket.on('disconnect', function () {
    io.sockets.emit('user disconnected');
  });
});


нужно для экспериментов с https://github.com/cucumber/cucumber/wiki/Wire-Protocol

Автор:  kuntashov [ 16 фев 2014, 14:44 ]
Заголовок сообщения:  Re: Socket need !!!

Для этих целей в WSH надо использовать компонент MSWinsock.Winsock
Примеры гуглятся, вот кстати как раз для твоего случая пример:

http://www.winscripter.com/WSH/Internet/79.aspx

Я не уверен только, как будет реагировать 1Ска: кажется, все GUI 1Ски будет зависать, слушая сокет, т.к. скрипты отрабатывают в контексте ее процесса.
Саша Орефков поправит меня, если ошибаюсь.

Автор:  lustin [ 16 фев 2014, 18:53 ]
Заголовок сообщения:  Re: Socket need !!!

Это я уже попробовал
- во первых MSWinsock.Winsock не доступен в Windows 8 - пришлось для таких целей использовать ocx finder
- во вторых даже после регистрации внутри скрипта он не доступен для использования, требует чтобы его разместили только в system32
- в третьих лицензионная чистота данного компонента у меня вызывает сомнения

Так что пока это конечно костыль. Проще пока смирится и копать в другую сторону.

P.S. "А счастье было так возможно" ;-). Я вчера сильно радовался когда Wire протокол раскопал.

Автор:  kuntashov [ 16 фев 2014, 21:32 ]
Заголовок сообщения:  Re: Socket need !!!

Ага, я подумал, что самые очевидные решения ты уже попробовал, но решил на всякий случай написать.

Продублирую также свой ответ из Г+

На том же node.js написать слушающий прокси-север, который будет запросы на сокет перенаправлять 1Ске, к которой подключится через COM-соединение. В найденном тобой проекте https://github.com/dancingbytes/s41c это так и реализовано для 7.7, причем под 8ку переделать легко.

Я вот только не до конца понял исходной задумки, т.к. ты вопрос задаешь про скрипт для Снегопата, хотя как я понял назначение https://github.com/cucumber/cucumber/wiki/Wire-Protocol - он как раз для выполнения шагов, написанных на языке 1С для нашего случая. А шаги должны выполняться в контексте 1С:Предприятия (мы же его тестируем), т.е. снегопат тут вообще не причем.

По сути кукумбер передает на указанный сокет информацию о том, какой шаг (Step), чье определение (Step Definition) задано на языке 1С, надо выполнить. Для нашего случая прокси должен получать этот шаг и "дергать" 1Ску, прося ее этот шаг выполнить и отдать результат.

В рамках имеющегося функционала по тестирвоанию, который появился в 8.3 это реализовать можно.

Автор:  artbear [ 17 фев 2014, 14:24 ]
Заголовок сообщения:  Re: Socket need !!!

ИМХО еще на 1cpp.ru была какая-то ветка (также для 77) с реализацией сокетов.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/