|
|
|
именованые каналы
|
|||
|---|---|---|---|
|
#18+
Дело такое: есть приложение (серверная часть) на VB6 и клиенты (VB6), DCOM, и соответственно при коннекте клиента и последующем его "отваливании" остается открытым созданный им канал, вследствии чего сервер "виснет". Можно ли средствами vb6 закрывать каналы, при "умирании" клиента? В данный момент решением проблемы является утилита, следящая не висит ли сервер, и соответственно перегружающая компьютер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 11:21:18 |
|
||
|
именованые каналы
|
|||
|---|---|---|---|
|
#18+
Shneider Можно ли средствами vb6 закрывать каналы, при "умирании" клиента? Увы, нельзя. Это один из самых больших недостатков технологии DCOM. Сервер не может определить когда "умер" клиент и соответственно отреагировать. Можно придумать какие-то частные решения. Например клиент по таймеру должен сообщать серверу, что он жив и если не сообщил - то сервер может попытаться "убить" stub класс клиента (не факт, что получится) Но честно говоря, я не видил ни одной толковой реализации. Если найдете или сможете сделать - буду признателен. Shneider В данный момент решением проблемы является утилита, следящая не висит ли сервер, и соответственно перегружающая компьютер. Приемлемое решение. Но компьютер то зачем перегружать ? Достаточно только "убить" DCOM сервер и стартовать (если нужно) его заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 12:16:43 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32829861&tid=2168435]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 270ms |

| 0 / 0 |
