Protocol

From SBOL Project
Revision as of 16:42, 13 May 2019 by Admin.tofuman (talk | contribs) (Packets)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Information

SBOL uses a networking protocol provided by MultiTerm. This network protocol is a part of their "MassPlayer System" (MPS). MPS was mainly used by consoles (PS2 and Gamecude) to integrate online play. There doesn't appear to be any documentation on the system online and MultiTerm has long been shutdown.

One thing to keep in mind when working with the protocol in SBOL is that MPS uses big endian byte ordering. Unlike many x86 based systems which use little endian. This is likely something carried over from the libraries being largely developed for systems that processed bytes as big endian. The client uses the ntohl/ntohs functions to switch these bytes when processing them (network to host long/short. A winsock function but I guess why write a function when its already available in the libraries you're using).

Structure

Client:
PS PS PT PT PD PD PD PD PD ..

Server:
PS PS PT PT ST ST PD PD PD PD PD ..

PS = Packet Size: Data type Short (the packet size is the size minus 2)
PT = Packet Type: Data type Short
ST = Packet Sub Type: Data type Short
PD = Packet Data array of bytes structure is specific to the type of packet

Packets