8.c Appendix: Python Extension Template
| The source of this example is found in the Examples/(Flash version)/applicationTemplate folder. |
» Introduction
This article provides a basic template for creating your you own server side extensions using Python.
» Actionscript Extensions in a nuthshell
Basically an extension has four different tasks to accomplish:
1) Initialize
2) Handle client requests
3) Handle internal server events
4) Destroy
These four tasks are handled respectively by four Actionscript functions
called: init(), handleRequest(), handleInternalEvent(), destroy()
These four functions should always be declared in your
extensions, even if they don't contain code.
» The template
Here's the code of the extension template:
#
# SmartFoxServer PRO
# Pyhton Extension template
# version 1.0.0
#
#
# An object called _server is available in the global scope
# The object is used to access the server side framework, just like in Actionscript extensions
#
#
# Initializion point:
#
# this function is called as soon as the extension
# is loaded in the server.
#
# You can add here all the initialization code
#
def init():
_server.trace("Python extension starting")
#
# This method is called by the server when an extension
# is being removed / destroyed.
#
# Always make sure to release resources like setInterval(s)
# open files etc in this method.
#
# In this case we delete the reference to the databaseManager
#
def destroy():
_server.trace("Python extension stopping")
#
# Handle Client Requests
#
# cmd = a string with the client command to execute
# params = list of parameters expected from the client
# who = the User object representing the sender
# roomId = the id of the room where the request was generated
# protocol = the protocol used in the request ("xml", "str", "json"
#
def handleRequest(cmd, params, who, roomId, protocol):
pass
#
# This method handles internal events
# Internal events are dispactched by the Zone or Room where the extension is attached to
#
# the (evt) object
#
def handleInternalEvent(evt):
pass
| doc index |