iocards project 1 connection of modules for iocards fernando brea translation by manolo hdez-peña...
TRANSCRIPT
IOCards Project1
Connection of modules for Connection of modules for IOCardsIOCards
Fernando BreaTranslation by Manolo Hdez-Peña
IOCards Project2
Connection of modules for Connection of modules for IOCardsIOCards
The chaos that pursues us Model of communication between modules TCP/IP FSUIPC IOCP Modules clasiffication Server modules Client modules
IOCards Project3
The chaos that pursues us... The chaos that pursues us...
Continuous appearance of new modulesWithout connection between them at first
sightWithout a map situation of these modulesPartial view of the projectAnd, in addition, the PC
IOCards Project4
The chaos that pursues us...The chaos that pursues us...
Fligth SimX-Plane
FSUIPC IOCard.exe
IOCPSERVER
XPLUIPCWide-Fs
IOCP Console
S I O CIOCGauges O N – 7 3 7
TCP/IPTCP/IPTCP/IPTCP/IP
IOCards Project5
The goal: to create a modelThe goal: to create a model
Fligth SimX-Plane
TCP/IPTCP/IP
Client modulesClient modules
Server modulesServer modules
IOCards Project6
Simple implementationSimple implementation
X-Plane
TCP/IPTCP/IP
XPLUIPCXPLUIPC
S I O C S I O C
IOCards Project7
Complex implementationComplex implementation
Fligth Sim
TCP/IPTCP/IP
FSUIPCFSUIPC
WideFSWideFS
WideFSWideFS IocGaugesIocGauges
IocGaugesIocGauges SIOCSIOC
SIOCSIOC
IOCP ConsoleIOCP Console
IOCards Project8
The goal: to create a modelThe goal: to create a model
Fligth SimX-Plane
TCP/IPTCP/IP
Client modulesClient modules
Server modulesServer modules
IOCards Project9
TCP/IPTCP/IP
TCP/IPTCP/IP
Server modulesServer modules
Tcp / Ip as the basis of communication Tcp / Ip as the basis of communication between modulesbetween modules
Client modulesClient modules
IOCards Project10
TCP/IPTCP/IP
WebWebServer Server
INTERNETINTERNET
ClientClient ServerServer
Tcp/IpTcp/Iphttphttp
IOCards Project11
TCP/IP - httpTCP/IP - http
TCP/IP ( http )TCP/IP ( http )
BrowserBrowser
Web ServerWeb Server
IOCards Project12
TCP/IP – IOCP ( IOCard Protocol )TCP/IP – IOCP ( IOCard Protocol )
TCP/IP ( IOCP )TCP/IP ( IOCP )
IOCP ConsoleIOCP Console
IOCPServerIOCPServer
IOCards Project13
TCP/IP - IOCPTCP/IP - IOCP IOCP has its own algorithms IOCP manages all the messages .... We take advantage of the IP addressing system We take advantage of the TCP transport system We take advantage of the services/clients
philosophy
IOCards Project14
TCP/IP – IP addressingTCP/IP – IP addressing
All the machines taking part of an IP network has one and only one address
IP address - 192.168.100.4 Mask - 255.255.255.0 Router / Gateway – 192.168.100.100 On the Internet, on a Lan, ... Localhost – 127.0.0.1
IOCards Project15
TCP/IP – IP addressingTCP/IP – IP addressing
IOCards Project16
TCP/IP – IP addressingTCP/IP – IP addressing
IOCards Project17
TCP/IP – TCP/UDP transportTCP/IP – TCP/UDP transport
Just don’t worry about this
IOCards Project18
TCP/IP – Services / ClientsTCP/IP – Services / Clients
Service– Any application waiting for a client
– Attends to several clients
– Identification – 192.168.100.4:8090 IP address – 192.168.100.4 Port – 8090
Clients– They access to known services
IOCards Project19
TCP/IP – Services / ClientsTCP/IP – Services / Clients
Dir. IP - 192.168.100.4Dir. IP - 192.168.100.4
8090 – IOCPServer8090 – IOCPServer
8091 – ON-737 Server8091 – ON-737 Server
80 – Web Server80 – Web Server
SIOCSIOC
FIRE 737FIRE 737
INSTRUCTOR INSTRUCTOR 737737
WEBWEBBROWSERBROWSER
IOCards Project20
TCP/IP – Services errorsTCP/IP – Services errors
Dir. IP - 192.168.100.4Dir. IP - 192.168.100.4
8091 – IOCPServer8091 – IOCPServer8091 – ON-737 Server8091 – ON-737 Server
80 – Web Server80 – Web Server
SIOCSIOC
FIRE 737FIRE 737
INSTRUCTOR INSTRUCTOR 737737
WEBWEBBROWSERBROWSER
IOCards Project21
TCP/IP – Clients errorsTCP/IP – Clients errors
Dir. IP - 192.168.100.4Dir. IP - 192.168.100.4
8090 – IOCPServer8090 – IOCPServer
8091 – ON-737 Server8091 – ON-737 Server
80 – Web Server80 – Web Server
SIOCSIOC
FIRE 737FIRE 737
INSTRUCTOR INSTRUCTOR 737737
WEBWEBBROWSERBROWSER
8080 – Free8080 – Free
Dir. IP – 195.53.106.3Dir. IP – 195.53.106.3
IOCards Project22
TCP/IP – ServicesTCP/IP – Services
What may I configure in the service?– The port in which it must listen to the
different clients
What do I have to know about the client?– The IP address of the machine where the
client is located Ipconfig / Winipcfg
– The configured port
IOCards Project23
TCP/IP – ClientsTCP/IP – Clients
What may I configure in the client?– The IP address of the machine where the
service is located– The port in which the service is listening
IOCards Project24
Modules clasifficationModules clasifficationFligth SimX-Plane
TCP/IPTCP/IP
Client modulesClient modules
Server modulesServer modules
IOCards Project25
Modules clasifficationModules clasiffication
Server modules– Give and let other modules to obtain data from
themClient modules
– Get data from the server modules
IOCards Project26
Modules clasifficationModules clasiffication
Server modules– FSUIPC servers– IOCP servers
Client modules– FSUIPC clients– IOCP clients
IOCards Project27
Modules clasifficationModules clasiffication
Mixed modules– Get data from the server modules
FSUIPC IOCP
– And give and let other other modules to obtain data from them
IOCP
IOCards Project28
FSUIPC server modulesFSUIPC server modules
FSUIPC– FSUIPC.dll
Installed in the FSimulator modules folder
– WideClient.exe Installed in a remote PC
IOCards Project29
FSUIPC clients modulesFSUIPC clients modules
FSUIPC– ON-737 Server– SIOC– IOCard.exe– IOCGauges– FreeFD– Project Magenta– ...
IOCards Project30
FSUIPC / WideFSFSUIPC / WideFS
Don’t use TCP/IP to communicate with clients
FSUIPC clients use calls to FSUIPC.dll functions
Use TCP/IP to communicate in a network
IOCards Project31
FSUIPC - WideFsFSUIPC - WideFs
Fligth Sim
FSUIPC
P.M. / F.FDP.M. / F.FD
ON-737ON-737
IOCGaugesIOCGauges
IOCard.exeIOCard.exe
Tcp/ipTcp/ipWideClient
FSUIPC clientFSUIPC client FSUIPC clientFSUIPC client
WideServerWideServer
SIOCSIOC
IOCards Project32
FSUIPC / WideFSFSUIPC / WideFS
FSUIPC doesn’t have a communication configuration for different modules
WideFS do that by configuring the server and client parameters– WideServer.dll – WideServer.ini– WideClient.exe – WideCient.ini
IOCards Project33
FSUIPC / WideServer.iniFSUIPC / WideServer.ini
IOCards Project34
FSUIPC / WideClient.iniFSUIPC / WideClient.ini
IOCards Project35
IOCP server modulesIOCP server modules
IOCP– IOCPServer– XPLUIPC– ON-737 Server– SIOC– IOCGauges
IOCards Project36
IOCP server modulesIOCP server modules IOCPServer
– Extracts variable values from FS and give them to clients
– Installed in the modules folder– IOCPServer.ini
IOCards Project37
IOCP server modulesIOCP server modulesXPLUIPC
– Extracts variables values from X-Plane and give them to clients
– Installed in the Plugins folder– XPLUIPC.Ini
IOCards Project38
IOCP server modulesIOCP server modules ON-737 Server
– Gives data from FS, Xplane and calculated data
– ON737.ini
IOCards Project39
IOCP server modulesIOCP server modulesON-737 Server
– IOCP server
IOCards Project40
IOCP server modulesIOCP server modulesSIOC
– Gives calculated data to clients– SIOC.ini
IOCards Project41
IOCP server modulesIOCP server modulesSIOC
– IOCP server
IOCards Project42
IOCP server modulesIOCP server modulesIOCGauges
– Gives calculated data about gauges– IocGauges.ini
IOCards Project43
IOCP server modulesIOCP server modulesIOCGauges
– IOCP server
IOCards Project44
IOCP client modulesIOCP client modules
IOCP– SIOC – IOCard.exe– ON-737 modules ( fire, instructor...)– IOCP Console– Future Modules ( sound, mouse... )
IOCards Project45
IOCP client modulesIOCP client modulesSIOC
– Gets data from any IOCP server– Sioc.ini
IOCards Project46
IOCP client modulesIOCP client modules SIOC
– IOCP client
IOCards Project47
IOCP client modulesIOCP client modulesIOCard.Exe
– Gets data from any IOCP server– IOCard.ini
IOCards Project48
IOCP client modulesIOCP client modulesIOCard.Exe
– IOCP client
IOCards Project49
IOCP client modulesIOCP client modules ON-737 modules ( fire, instructor...)
– Get data from ON-737 Server, IOCPServer and XPLUIPC
– Fire737.ini, ins737.ini ...
IOCards Project50
IOCP client modulesIOCP client modulesON-737 modules ( fire, instructor...)
– IOCP clients
IOCards Project51
IOCP client modulesIOCP client modules IOCP Console
– Gets data from any IOCP server
– Different consoles, depending on the application
IOCards Project52
IOCP client modulesIOCP client modulesFuture modules ( sound, mouse… )
– They will get specialized data– xxxxxxxx.ini
IOCards Project53
FSUIPC client modulesFSUIPC client modules
FSUIPC– SIOC – IOCard.exe– ON-737 modules ( fire, instructor...)– IOCP Console– Future modules ( sound, mouse... )
IOCards Project54
FSUIPC client modulesFSUIPC client modulesON-737 Server
– Fsuipc client
IOCards Project55
FSUIPC client modulesFSUIPC client modulesSIOC
– Fsuipc client
IOCards Project56
FSUIPC client modulesFSUIPC client modulesIOCGauges
– Fsuipc client
IOCards Project57
FSUIPC client modulesFSUIPC client modulesIOCard.Exe
– Fsuipc client
IOCards Project58
Servers/Clients reviewServers/Clients reviewModule IOCP Server FSUIPC
ServerIOCP Client FSUIPC
Client
IOCPServer XXXXXXXXXXXXXX
XPLUICP XXXXXXXXXXXXXX
SIOC XXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXX
ON 737 Server
XXXXXXXXXXXXXX XXXXXXXXXXXXXX
IOCGauges XXXXXXXXXXXXXX XXXXXXXXXXXXXX
IOCard.exe XXXXXXXXXXXXXX XXXXXXXXXXXXXX
ON 737 Mod. XXXXXXXXXXXXXX
IOCP Console XXXXXXXXXXXXXX
FSUIPC XXXXXXXXXXXXXX
WIDEFS XXXXXXXXXXXXXX
IOCards Project59
Examples - Errors Examples - Errors
Two IOCP servers trying to listen in the same port– Change one of the ports – Restart all the programs
IOCards Project60
Examples - ErrorsExamples - Errors
One client trying to access to a free port One client trying to access to a non-IOCP port One client trying to access to a non-compatible
IOCP port One client trying to access to a non-reachable IP
address– Modify IP and/or Port
IOCards Project61
Examples Examples
One server can get data from another server that is also a FSUIPC client
A console that checks every server
IOCards Project62
Connection of modules for Connection of modules for IOCardsIOCards
Thank you
Fernando BreaTranslation by Manolo Hdez-Peña