Package legume :: Package udp :: Module server :: Class Server
[frames] | no frames]

type Server

               object --+    
                        |    
netshared.NetworkEndpoint --+
                            |
                           Server

A server. To allow network clients to communicate with this class call listen() with a network address then periodically call update() to ensure data is kept flowing and connects/disconnects are handled.
Instance Methods
 
__init__(self, message_factory=MessageFactory())
Create an instance of a new Server endpoint.
 
disconnect(self, peer_address)
Disconnect a peer by specifying their address.
 
disconnectAll(self)
Disconnect all connected clients
 
getPeerByAddress(self, peer_address)
Obtain a ServerPeer instance by specifying the peer's address
 
listen(self, address)
Begin listening for incoming connections.
 
update(self)
Pumps buffers and dispatches events.
 
sendMessageToAll(self, message)
Send a non-reliable packet to all connected peers.
 
sendReliableMessageToAll(self, message)
Send a reliable message to all connected peers.
 
bindSocket(self, addr) (Inherited from legume.udp.netshared.NetworkEndpoint)
 
connectSocket(self, addr) (Inherited from legume.udp.netshared.NetworkEndpoint)
 
createSocket(self) (Inherited from legume.udp.netshared.NetworkEndpoint)
 
doRead(self, callback) (Inherited from legume.udp.netshared.NetworkEndpoint)
 
getSocket(self) (Inherited from legume.udp.netshared.NetworkEndpoint)
 
getState(self) (Inherited from legume.udp.netshared.NetworkEndpoint)
 
isActive(self) (Inherited from legume.udp.netshared.NetworkEndpoint)
 
setTimeout(self, timeout) (Inherited from legume.udp.netshared.NetworkEndpoint)
Class Variables
  CONNECTED = 104 (Inherited from legume.udp.netshared.NetworkEndpoint)
  CONNECTING = 103 (Inherited from legume.udp.netshared.NetworkEndpoint)
  DISCONNECTED = 100 (Inherited from legume.udp.netshared.NetworkEndpoint)
  ERRORED = 101 (Inherited from legume.udp.netshared.NetworkEndpoint)
  LISTENING = 102 (Inherited from legume.udp.netshared.NetworkEndpoint)
  MTU = 1400 (Inherited from legume.udp.netshared.NetworkEndpoint)
Properties
  peercount
Number of connected peers.
  peers
A list of connected peers.
  OnMessage
  OnConnectRequest
  OnError
  OnDisconnect
  socket (Inherited from legume.udp.netshared.NetworkEndpoint)
  state (Inherited from legume.udp.netshared.NetworkEndpoint)
  timeout (Inherited from legume.udp.netshared.NetworkEndpoint)
Method Details

__init__(self, message_factory=MessageFactory())
(Constructor)

 

Create an instance of a new Server endpoint. Use the message_factory parameter to specify an alternative to the global messages.message_factory instance:

mf = legume.udp.messages.MessageFactory()
server = legume.udp.Server(message_factory=pf)
Overrides: netshared.NetworkEndpoint.__init__

disconnect(self, peer_address)

 

Disconnect a peer by specifying their address. Equivalent to:

server.getPeerByAddress(peer_address).disconnect()

listen(self, address)

 

Begin listening for incoming connections. address is a tuple of the format (hostname, port) This method change the class state to LISTENING:

# Begin listening on port 4000 on all IP interfaces
server = legume.udp.Server()
server.listen(('', 4000))

update(self)

 

Pumps buffers and dispatches events. Call regularly to ensure buffers do not overfill or connections time-out:

server = legume.udp.Server()
server.listen(('', 4000))

while True:
    server.update()
    # Other update tasks here..
    time.sleep(0.001)

sendMessageToAll(self, message)

 

Send a non-reliable packet to all connected peers. packet is an instance of a legume.message.BaseMessage subclass:

msg = ExampleMessage()
msg.chat_message.value = "Hello!"
msg.sender.value = "@X3"
server.sendMessageToAll(msg_packet)

sendReliableMessageToAll(self, message)

 
Send a reliable message to all connected peers. message is an instance of a legume.udp.message.BaseMessage subclass.

Property Details

peercount

Number of connected peers.

peers

A list of connected peers.

OnMessage

Get Method:
_getOnMessage(self)
Set Method:
_setOnMessage(self, event)

OnConnectRequest

Get Method:
_getOnConnectRequest(self)
Set Method:
_setOnConnectRequest(self, event)

OnError

Get Method:
_getOnError(self)
Set Method:
_setOnError(self, event)

OnDisconnect

Get Method:
_getOnDisconnect(self)
Set Method:
_setOnDisconnect(self, event)