# KairoEngine.Multiplayer ## Messages and Events Server and clients exchange Net Messages which then become local events that can be subscribed to. The following table show the relations of messages and events. | Role | Action | NetMsg | Event | | ------ | ----------- | ------------------------ | -------------------------------- | | server | Start | | PortError | | server | Start | | Listening | | server | Stop | | Stopped | | server | SendData | NetClientConnectedMsg | ClientConnected | | server | SendData | NetClientDisconnectedMsg | ClientDisconnected | | server | ReceiveData | NetMsg | InvalidOpCode | | server | ReceiveData | NetDisconnectMsg | SendingDisconnectMessageToClient | | server | ReceiveData | NetHandshakeMsg | HandshakeReceived | | server | SendData | NetHandshakeMsg | AcceptingHandshake | | client | Start | | Connecting | | client | Start | | Connected | | client | Start | | ErrorConnecting | | client | Stop | | Disconnected | | client | Stop | | ServerDisconnected | | client | ReceiveData | NetMsg | InvalidOpCode | | client | SendData | NetDisconnectMsg | SendingDisconnectMessageToServer | | client | ReceiveData | NetDisconnectMsg | ServerDisconnect | | client | SendData | NetHandshakeMsg | SendingHandshake | | client | ReceiveData | NetHandshakeMsg | HandshakeAccepted | | client | ReceiveData | NetClientConnectedMsg | PeerConnected | | | ReceiveData | NetClientDisconnectedMsg | PeerDisconnected |