Ну, через форум ничего нормально отправить нельзя - скинь мне запрос на 89057394399@mail.ru, отправлю сборку.
Ну, через форум ничего нормально отправить нельзя - скинь мне запрос на 89057394399@mail.ru, отправлю сборку.
В связи с некоторыми изменениями в кассовой части R-Keeper, связанными с реализацией поддержки сети, назрела необходимость в следующем описании.
Наверное всем, кто когда-либо устанавливал поддержку протокола TCP/IP, известна проблема нехватки начальной памяти на рабочей станции. Происхоит это из-за того, что в сетевом клиенте обязательно должна быть включена поддержка Full Redirector ,который необходим для поддержки расширенных функций, в отличии от Basic Redirector, который обеспечивает только стандартные возможности, но при этом требует меньшее кол-во памяти. Также нехватка памяти может происходить из-за поддержки на кассе не только функций рабочей станции (workstation), но и сервера (server), но об этом немного ниже. В принципе выход из этой ситуации существует – это использование менеджера памяти EMM386, вместо HIMEM, тем более что в реализации DR-DOS он работает немного по-другому, нежели в MS-DOS, но полной совместимости с R-Keeper гарантировать нельзя – проблема при использовании EMM386 как раз и проявилось на одном из используемых терминалов.
Итак, что было модифицировано – библиотеки NETWORK.DLL и NBCHANEL.DLL. Эти библиотеки позволяют не использовать Full Redirector и/или функции рабочей станции (workstation), что дает возможность освободить дополнительную память, необходимую для загрузки сетевого клиента с поддержкой TCP/IP.
Что мы теряем при использовании Basic Redirector-а:
- во-первых, при использовании ДОСовского кассового сервера, касса не сможет больше самостоятельно подключать сетевые диски. Это использовалось при указании сетевых путей (\\server\menu6 и т.д.) в файле local.db. Но использование сетевых путей не всегда стабильно работало при установке менеджерской базы на Windows NT, да и к тому же есть другие средства (RKSHARE, например) для доступа к базе
-во-вторых, нельзя использовать общие сетевые принтера напрямую, но для этого тоже существует альтернатива (SPRED)
Кроме того, при загрузке сетевого клиента без поддержки workstation не будет возможности подключать сетевые ресурсы (команда net use), что также не является необходимым, особенно при использовании выделенного кассового сервера (NT)
Взять новые библиотеки можно на ftp в директории /dealers/r-keeper/tools/tcpip/kacca
Теперь несколько замечаний относительно установки и конфигурирования протокола TCP/IP на рабочих станциях.
Для установки можно воспользоваться дистрибутивом Microsoft Network Client version 3.0 for MS-DOS. В этом клиенте есть поддержка практически всего, что требуется для работы, за исключением поддержки функций сервера (server), т.е. общие ресурсы на кассе открыть нельзя (функция net share недоступна). После установки этого клиента можно воспользоваться новыми сетевыми библиотеками (NETWORK.DLL и NBCHANEL.DLL) и использовать Basic Redirector для оптимизации памяти
Взять Microsoft Network Client version 3.0 можно на ftp в директории /dealers/r-keeper/tools/tcpip/msclient. В директории два файла – install.zip (установочный дистрибутив), rtl8139.zip – сконфигурированный клиент для станций на базе Realtek 8139 (не требует инсталляции)
Возможно, более интересным вариантом является использование сетевого клиента с поддержкой TCP/IP и функций сервера, т.е. возможностью открывать общие папки на кассовой станции. Сформировать такого клиента можно на базе стандартного Microsoft Workgroup Add-On for MS-DOS (знакомый всем ADDON). Необходимо его установить и предварительно настроить. Далее необходимо скопировать в установленную директорию NET файлы из пакета Microsoft TCP/IP for Windows for Workgroups 3.11 (можно взять на ftp в директории /dealers/r-keeper/tools/tcpip/wfwtcp/wfwtcp.zip).
В autoexec.bat на кассовой станции добавляем следующие строки:
C:\NET\net initialize
C:\NET\netbind.com
C:\NET\umb.com
C:\NET\tcptsr.exe
C:\NET\tinyrfc.exe
C:\NET\nmtsr.exe
C:\NET\emsbfr.exe
C:\NET\net start
Далее необходимо модифицировать конфигурационные файлы SYSTEM.INI и PROTOCOL.INI в директории NET:
PROTOCOL.INI:
- в разделе [network.setup] находим переменную transport. Изменяем ее значение на tcpip,TCPIP , т.е. строка должна выглядеть так:
transport=tcpip,TCPIP
-в том же разделе изменяет значение переменной lana0 на RTL8139,1,tcpip (это для сетевой карты Realtek 8139), т.е. стока должна выглядеть так:
lana0=RTL8139,1,tcpip
Создаем раздел [TCPIP] со следующим содержимым:
[TCPIP]
NBSessions=20
SubNetMask0=255 255 255 0
IPAddress0=198 154 196 200
DefaultGateway0=198 154 196 89
DriverName=TCPIP$
BINDINGS=RTL8139
LANABASE=0
где указываем необходимые значения
SYSTEM.INI
В разделе [network drivers] находим переменную transport и изменяем ее значение на tcpdrv.dos,nemm.dos, т.е строка должна выглядеть так:
transport=tcpdrv.dos,nemm.dos
В разделе [network] можно ничего не менять, но есть две переменные, которые отвечают за некоторые настройки:
1. preferredredir – значение переменной отвечает за то, какой режим будет загружен – Full Redirect или Basic Redirect. По умолчанию загружается поддержка Full Redirect (значение переменной preferredredir=full) –можно изменить значение на basic для поддержки Basic Redirector и экономии памяти
2. autostart – можно указать, поддержка какого режима будет загружаться автоматически. Возможно несколько вариантов:
autostart=full – загрузка всех служб (server+workstation)
autostart=server – поддержка только служб сервера
autostart=workstation – поддержка только служб рабочей станции
Для экономии памяти можно указать autostart=server - в таком случае будет возможность открывать общий доступ к файлам и папкам кассовой станции
В итоге получаем рабочую станцию с поддержкой TCP/IP и возможностью общего доступа к ресурсам.
Остается вопрос конфигурирования станции при использовании сервера DHCP, но это, наверняка, можно реализовать с помощью дополнительных служб
©UCS, 2006
Все то что написанно уже сделано давно, только в файле PROTOKOL.INI сделаны другие настройки, вот такие, наверно это как раз и влияет на работу:
[TCPIP]
NBSessions=6
SubNetMask0=255 0 0 0
IPAddress0=0 0 0 0
DefaultGateway0=198 154 196 89 ' этой строки нет
DisableDHCP=0 ' а это строка есть
DriverName=TCPIP$
BINDINGS=RE100TX
LANABASE=0
По поводу строкового параметра NBsession=6 разработчики говорят что бы этот параметр был не ниже 20 но предел т.е. максимум этого параметра 22. Хотел узнать что это за параметр? Что именно он делает и на что влияет.
Хотел задать вот такой вопрос:
IPAddress0=198 154 196 200 - это получается начальный адрес
DefaultGateway0=198 154 196 89 - а это конечный адрес
т.е. берется промежуток адресов? или у меня уже мозги дымятся?
т.е. наоборот.....фу надо домой идти....
IPAddress0 - это свой адрес
DefaultGateway0 - это вообще говоря шлюз. В нашем случае это кажется адрес компа с сервером. Хотя по идее нам шлюз нужен только для того, чтобы ходит в инет, т.е. нам не нужен![]()
NBsession это вроде количество одновременных сессий - чем их больше, тем больше по идее пожирается памяти (ну, каких-то ресурсов).
Спасибо большое....
По поводу этого строкового параметра:
DisableDHCP=0
это получается при параметре равное 1, DHCP = вык
а при параметре равное 0, DHCP = включен
если по логике посмотреть, может быть я ошибаюсь...![]()