Notice: Constant POS_FUNC_INOUT already defined in D:\sites\server_model_v3\site\index.php on line 65
Notice: Constant POS_FUNC_NAME already defined in D:\sites\server_model_v3\site\index.php on line 66
Notice: Constant POS_FUNC_TYPE_NUM already defined in D:\sites\server_model_v3\site\index.php on line 67
Notice: Constant POS_STRUCT_INOUT already defined in D:\sites\server_model_v3\site\index.php on line 69
Notice: Constant POS_STRUCT_NAME already defined in D:\sites\server_model_v3\site\index.php on line 70
Notice: Constant POS_STRUCT_TYPE_NUM already defined in D:\sites\server_model_v3\site\index.php on line 71
Notice: Constant REQUIREMENTS_POS already defined in D:\sites\server_model_v3\site\index.php on line 76
About protocols/plugins
index
About protocols/plugins
TV's server v3 was build as a plugin based system from the start. This led to some goals:
- every plug-in (a DLL or so file) should be able to provide one or more protocols;
- unique session number to identify each protocol, service and connection;
- separated data storage for every session;
- store saved data on disk and restore data and services on restart;
- an interface to set (control panel) options providing different types of options (like string, integer, list, etc) for each protocol and or service;
- an interface to load new protocols and create new services;
- an interface to retrieve (control panel) options from a specific protocol.
To be able to know which protocols are able to work together it was necessary to define three different types. They are very simulair to the OSI model, which I wasn't aware of at the time. The OSI names are between brackets.
- Receiver (Transport layer) This protocol needs to establish connections with clients and send and receive data on request. Examples of well known protocols are TCP/IP and Bluetooth protocol;
- Manipulator (Presentation layer) This protocol will be able to change all the transferred data between a receiver and a laborer protocol. Examples of well known protocols are TLS/SSL;
- Laborer (Application layer) This protocol will process the clients request by receiving and sending data through the manipulator and receiver protocol. Examples of well known protocols are HTTP, FTP, SMTP.