Autor: Gregorio Kus (Grego_at_RMnet.IT)
Data: Wed 14 Feb 1996 - 02:31:29 MET
Jak sie zapewne wszyscy domyslaja :-))) chodzi mi o zasymulowanie
czterech AT 286/10MHz z DOS na jednym 486DX4/100MHz pod OS/2.
Tzn. mam przerobic oprogramowanie symulatora wiezy kontroli lotow
i sali radarow dla szkoly areonatycznej w Rzymie. To ustrojstwo
ma wbudowane wlasnie te cztery stare AT. Komunikuja sie miedzy soba
za pomoca RS232 z oszalamiajaca predkoscia 2400 (ale im to wystarcza),
w dodatku zmienic sie tego nie da, bo klawiatury uczniow sa zbudowane
na jakims 6802/1MHz czy czyms w tym rodzaju, z software'owym RSem -
szybciej toto nie wydoli.
Problem polega na tym, ze ja bardzo lubie pracowac w domu,
[nie chodzi tylko o to co lubie, ale tam trwaja zajecia, a na noc
szkola jest zamykana] a nie przyciagne tu calej auli :-) wiec chce
odpalac cztery sesje DOSa pod OS/2. To nie problem, te cztery sesje,
i z szybkoscia tez nie mam problemow,, ale... jak tu zmusic te sesje
do komunikowania sie ze soba?
Po ciezkiej, dlugiej i wyczerpujacej walce - zrezygnowalem (zmusilo mnie)
z idei zostawienia programow tak ja sa - tzn. zapewnienia im komunikacji
przez porty szeregowe.
Idee mam 2 (kto ma jakies inne?):
1. Zmusic je do komunikowania sie za pomoca mechanizmow interprocess
communication wlasciwych OSowi (np. named pipes)
2. Zmusic je do komunikowania sie poprzez TCP/IP standalone.
Ad1.
Nie mam pojecia jak dostac sie z DOSa do OSowych named pipes
Ad2.
Sa dwie podidee:
A. Wykorzystanie programiku ktory znajduje sie w tcpip\dos\bin
i nazywa sie comtcp.exe. Teoretycznie ('comtcp -?') powinien
on przechwytywac COMy i podstawiac im sockets TCP/IP. W parametrach
podaje sie numer COMa i portu TCPIP.
B. Wykorzystanie DOS device SOCKET$ poprzez IOCTL
Ad.A - To by bylo najlepsze, bo nie musialbym w programach DOSowych nic
zmieniac na czas testow. Niestety w zaden sposob nie udaje mi sie zmusic
comtcp zeby posunal sie poza ustanowienie connection.
(Dla uproszczenia nie probuje od razu zmusic do wspolpracy dwoch
programow DOS'owych. Zapuszczam program OS/2, taki miniserver,
ktory robi bind i listen, zostawiam go na nasluchu, potem odpalam
sesje DOSa i comtcp. Program OS/2 sygnalizuje ze OK - connected
i na tym koniec - wisi wszystko ani czytac ani pisac sie nie da)
Ad.B - Nie mam zadnych materialow n/t SOCKET$. Z cala pewnoscia (struktura
IBM TCP/IP) symuluja one typowe w unixie operacje na sockets, tylko jakiez-to
parametry trzeba dawac temu SOCKET$ (device ma ustawione bity IOCTL, czyli
sie da)
Grego
P.S. Po raz pierwszy watpie czy znajdzie sie na PECETcie ktos kto mi moze
pomoc. Problem jest dosc szczegolny.
-- /------------------------------------------------------------------ Gregorio Kus Grego_at_RMnet.it Grego_at_cyberspace.org ROMA, Italy http://www.RMnet.it/~grego Grego_at_FreeNet.hut.fi
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 12:39:03 MET DST