Нет, тут проще - один поток на одно подключение. Просто здесь не рассчитано на тысячи подключений.
Редактировалось 1 раз(а), последний 2021-10-08 11:57:24
Этот топик читают: Гость
Ответов: 4628
Рейтинг: 749
|
|||
карма: 26 |
|
Ответов: 655
Рейтинг: 18
|
|||
Netspirit, подскажите такой момент.
использую VBS
Выдает ошибку "все копии канала заняты" Редактировалось 4 раз(а), последний 2018-01-31 09:41:25 |
|||
карма: 0 |
|
Ответов: 655
Рейтинг: 18
|
|||
Запись данных удается, считать так не удалось
|
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Как я понимаю, канал "test" создаётся в сервере? Записанные из VBS данные "sa=1025" в сервер приходят, а если сервер отправляет данные, то скрипт их не может прочитать? Если да, то проблема может быть в том, что ты делаешь fa.Close перед чтением - если сервер отправлял данные тому же соединению, от которого он выше получил строку, то отправляет он данные в никуда.
Предполагаю, в скрипте канал надо открывать в режиме чтение-запись и после отправки читать данные из того же хендла не закрывая. С другой стороны, если в скрипте просто надо открыть канал и сразу прочитать данные, то во-первых, режим открытия канала должен предусматривать чтение (не знаю что значит параметр 8 в OpenTextFile(), во-вторых, надо разобраться как работает метод ReadAll() - может он не дожидается поступления данных? |
|||
карма: 26 |
|
Ответов: 655
Рейтинг: 18
|
|||
Netspirit, все верно канал создается на сервере, параметр 8 - запись в конец файла, 1- чтение, 2 - перезапись. Клиент (скрипт) ни в каком раскладе не получает данные от сервера
Set fs = CreateObject("Scripting.FileSystemObject") Set fa = fs.OpenTextFile("\\.\pipe\test", 1, False) str1 = fa.ReadAll MsgBox str1 |
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Где можно посмотреть документацию по объекту, получаемому через OpenTextFile()?
|
|||
карма: 26 |
|
Ответов: 655
Рейтинг: 18
|
|||
https://msdn.microsoft.com/ru-ru/vba/language-reference-vba/articles/opentextfile-method
|
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Попробуй запусти сервер, потом запусти скрипт. MsgBox выскакивает сразу, или пока сервер не отправит данные? По логике, чтение из пайпа - это блокирующая операция. Она возвращает управление только после поступления данных с той стороны. Если сообщение выскакивает сразу, значит скрипт не дожидается поступления данных.
|
|||
карма: 26 |
| ||
файлы: 1 | DateConvertor mod 2017-06-30.zip [197.4KB] [480] |
23