April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.

Cookbook Example

How can I...?

Example 1: Building a Simple TCP Based Server that allows multiple connections at once and sends a fortune cookie to the client. Includes simple TCP based client that displays the fortune cookie. Components used:SimpleServer, FortuneCookieProtocol, Pipeline, TCPClient, ConsoleEchoer

#!/usr/bin/python

from Kamaelia.Protocol.FortuneCookieProtocol import FortuneCookieProtocol
from Kamaelia.SimpleServerComponent import SimpleServer
from Kamaelia.Internet.TCPClient import TCPClient
from Kamaelia.Util.Console import ConsoleEchoer
from Kamaelia.Chassis.Pipeline import Pipeline

import random

clientServerTestPort=random.randint(1500,1599)

SimpleServer(protocol=FortuneCookieProtocol, port=clientServerTestPort).activate ()

Pipeline(
         TCPClient("127.0.0.1",clientServerTestPort),
         ConsoleEchoer()
).run()

Source: Examples/example1/FortuneCookie_ServerClient.py