|
1С winsock сервер | ☑ | ||
---|---|---|---|---|
0
poskotinov_av
12.09.17
✎
19:55
|
здравствуйте, подскажите как поставить прослушку TCP порта ч/з winsock или другой какой-нить компонент?
код: WinSocket = новый COMОбъект("mswinsock.winsock"); WinSocket.LocalPort = "4444"; WinSocket.Bind("4444", "127.0.0.1"); WinSocket.listen(); ДобавитьОбработчик WinSocket.DataArrival, DataArrival; ДобавитьОбработчик WinSocket.Error, WinSocketError; ДобавитьОбработчик WinSocket.ConnectionRequest, ConnectionRequest; переводит WinSocket.State в режим 2 (прослушка), но его как будто бы - нет. обработчики - не срабатывают и клиент не видит сервер... клиентской частью отправляю сообщение: ЕстьСоединение = WinSocketClient.State = 7; если ЕстьСоединение тогда WinSocketClient.SendData(СокрЛП("ТекстСообщения")); сообщить("отправили текст сообщения"); иначе сообщить("нет соединения"); КонецЕсли; но соединение - отсутствует, причем написал програмку на дельфях (на компоненте инди), с ней коннектится, но видимо формат сообщений - разный, поэтому инди не принимает сообщения. |
|||
1
Fragster
гуру
12.09.17
✎
22:34
|
а зачем именно вебсокет?
|
|||
2
Asmody
12.09.17
✎
23:18
|
(0) Вы в 1С хотите winsock сервер реализовать? Без ВК не выйдет.
|
|||
3
oleg_km
12.09.17
✎
23:36
|
(2) Однопоточный нормально работает, события в очередь выстраиваются, по мере обработки событий обрабатываются.
|
|||
4
poskotinov_av
13.09.17
✎
05:59
|
(1) или другой какой-нить компонент?
|
|||
5
poskotinov_av
13.09.17
✎
06:00
|
(2) Можно поподробнее?
|
|||
6
poskotinov_av
13.09.17
✎
06:02
|
как вообще заставить 1С-ку слушать порт и прерываться по команде из вне?
|
|||
7
oleg_km
13.09.17
✎
10:30
|
(6) Во время выполнения потока команд никак. Компонент накапливает события в буфере. Когда 1С переходит в ожидание ввода, то начинают сыпаться события. Поэтому если вы это делаете на сервере, то ничего не происходит. И на клиенте будет происходить только если клиент находится в режиме ожидания. Кстати, имей ввиду, что компонент 32-х битный, на 64-х битном клиенте не взлетит.
А что за задача? Я балуюсь сокетами, но то что я делаю врядли кому-то еще нужно. В чем прям такая необходимость в сокетах, может мы другой путь подскажем. Работа с сокетами из 1С вещь нетривиальная. Если можно обойти - мой совет бывалого лучше обойти. |
|||
8
Fragster
гуру
13.09.17
✎
11:01
|
(6) именно клиента дергать надо?
|
|||
9
poskotinov_av
13.09.17
✎
14:53
|
(8) (7) необходимо клиентом дергать всех клиентов или конткретного клиента, которые подключены в данный момент к серверу.
|
|||
10
oleg_km
13.09.17
✎
15:21
|
(9) УФ?
|
|||
11
poskotinov_av
14.09.17
✎
05:31
|
(10) да
|
|||
12
Fragster
гуру
14.09.17
✎
10:43
|
||||
13
poskotinov_av
14.09.17
✎
19:18
|
(12) Вы, видимо - не понимаете, мне для похожих целей, но СВОЕ!!!
|
|||
14
poskotinov_av
14.09.17
✎
19:20
|
желательно без установки дополнительных компонентов
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |