summaryrefslogtreecommitdiff
path: root/doc/core/examples/index.html
blob: 118e28d58f11b264ffc701681bc96c09aa6c2fa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html  PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'  'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
<title>Twisted Documentation: Twisted code examples</title>
<link href="../howto/stylesheet.css" rel="stylesheet" type="text/css"/>
  </head>

  <body bgcolor="white">
    <h1 class="title">Twisted code examples</h1>
    <div class="toc"><ol><li><a href="#auto0">Simple Echo server and client</a></li><li><a href="#auto1">Chat</a></li><li><a href="#auto2">Echo server &amp; client variants</a></li><li><a href="#auto3">AMP server &amp; client variants</a></li><li><a href="#auto4">Perspective Broker</a></li><li><a href="#auto5">Cred</a></li><li><a href="#auto6">GUI</a></li><li><a href="#auto7">FTP examples</a></li><li><a href="#auto8">Logging</a></li><li><a href="#auto9">POSIX Specific Tricks</a></li><li><a href="#auto10">Miscellaneous</a></li></ol></div>
    <div class="content">
    <span/>

    <h2>Simple Echo server and client<a name="auto0"/></h2>
    <ul>
        <li><a href="simpleclient.py" shape="rect">simpleclient.py</a> - simple TCP client</li>
        <li><a href="simpleserv.py" shape="rect">simpleserv.py</a> - simple TCP echo server</li>
    </ul>

    <h2>Chat<a name="auto1"/></h2>
    <ul>
      <li><a href="chatserver.py" shape="rect">chatserver.py</a> - shows how to communicate between clients</li>
    </ul>

    <h2>Echo server &amp; client variants<a name="auto2"/></h2>
    <ul>
        <li><a href="echoserv.py" shape="rect">echoserv.py</a> - variant on a simple TCP echo server</li>
        <li><a href="echoclient.py" shape="rect">echoclient.py</a> - variant on a simple TCP client</li>
        <li><a href="echoserv_udp.py" shape="rect">echoserv_udp.py</a> - simplest possible
        UDP server</li>
        <li><a href="echoclient_udp.py" shape="rect">echoclient_udp.py</a> - simple UDP
        client</li>
        <li><a href="echoserv_ssl.py" shape="rect">echoserv_ssl.py</a> - simple SSL server</li>
        <li><a href="echoclient_ssl.py" shape="rect">echoclient_ssl.py</a> - simple SSL client</li>
    </ul>

    <h2>AMP server &amp; client variants<a name="auto3"/></h2>
    <ul>
        <li><a href="ampserver.py" shape="rect">ampserver.py</a> - do math using AMP</li>
        <li><a href="ampclient.py" shape="rect">ampclient.py</a> - do math using AMP</li>
    </ul>

    <h2>Perspective Broker<a name="auto4"/></h2>
    <ul>
        <li><a href="pbsimple.py" shape="rect">pbsimple.py</a> - simplest possible PB server</li>
        <li><a href="pbsimpleclient.py" shape="rect">pbsimpleclient.py</a> - simplest possible PB
        client</li>
        <li><a href="pbbenchclient.py" shape="rect">pbbenchclient.py</a> - benchmarking client</li>
        <li><a href="pbbenchserver.py" shape="rect">pbbenchserver.py</a> - benchmarking server</li>
        <li><a href="pbecho.py" shape="rect">pbecho.py</a> - echo server that uses login</li>
        <li><a href="pbechoclient.py" shape="rect">pbechoclient.py</a> - echo client using login</li>
        <li><a href="pb_exceptions.py" shape="rect">pb_exceptions.py</a> - example of exceptions over PB</li>
        <li><a href="pbgtk2.py" shape="rect">pbgtk2.py</a> - example of using GTK2 with PB</li>
        <li><a href="pbinterop.py" shape="rect">pbinterop.py</a> - shows off various types supported by PB</li>
        <li><a href="bananabench.py" shape="rect">bananabench.py</a> - benchmark for banana</li>
    </ul>

    <h2>Cred<a name="auto5"/></h2>
    <ul>
        <li><a href="cred.py" shape="rect">cred.py</a> - Authenticate a user with an in-memory username/password
        database</li>
        <li><a href="dbcred.py" shape="rect">dbcred.py</a> - Using a database backend to authenticate a user</li>
    </ul>

    <h2>GUI<a name="auto6"/></h2>
    <ul>
        <li><a href="wxdemo.py" shape="rect">wxdemo.py</a> - demo of wxPython integration with Twisted</li>
        <li><a href="pbgtk2.py" shape="rect">pbgtk2.py</a> - example of using GTK2 with PB</li>
        <li><a href="pyuidemo.py" shape="rect">pyuidemo.py</a> - PyUI</li>
    </ul>

    <h2>FTP examples<a name="auto7"/></h2>
    <ul>
        <li><a href="ftpclient.py" shape="rect">ftpclient.py</a> - example of using the FTP client</li>
        <li><a href="ftpserver.py" shape="rect">ftpserver.py</a> - create an FTP server which
        serves files for anonymous users from the working directory and serves
        files for authenticated users from <code class="shell">/home</code>.</li>
    </ul>

    <h2>Logging<a name="auto8"/></h2>
    <ul>
        <li><a href="twistd-logging.tac" shape="rect">twistd-logging.tac</a> - logging example using
        ILogObserver</li>
        <li><a href="testlogging.py" shape="rect">testlogging.py</a> - use twisted.python.log to log errors to
        standard out</li>
        <li><a href="rotatinglog.py" shape="rect">rotatinglog.py</a> - example of log file rotation</li>
    </ul>

    <h2>POSIX Specific Tricks<a name="auto9"/></h2>
    <ul>
      <li><a href="sendfd.py" shape="rect">sendfd.py</a>, <a href="recvfd.py" shape="rect">recvfd.py</a> - send and receive
      file descriptors over UNIX domain sockets
      </li>
    </ul>

    <h2>Miscellaneous<a name="auto10"/></h2>
    <ul>
        <li><a href="shaper.py" shape="rect">shaper.py</a> - example of rate-limiting your web server</li>
        <li><a href="stdiodemo.py" shape="rect">stdiodemo.py</a> - example using stdio, Deferreds, LineReceiver
        and twisted.web.client.</li>
        <li><a href="mouse.py" shape="rect">mouse.py</a> - example using MouseMan protocol with the SerialPort
        transport</li>
        <li><a href="ptyserv.py" shape="rect">ptyserv.py</a> - serve shells in pseudo-terminals over TCP</li>
        <li><a href="courier.py" shape="rect">courier.py</a> - example of interfacing to Courier's mail filter
        interface</li>
        <li><a href="longex.py" shape="rect">longex.py</a> - example of doing arbitarily long calculations nicely
        in Twisted</li>
        <li><a href="longex2.py" shape="rect">longex2.py</a> - using generators to do long calculations</li>
        <li><a href="stdin.py" shape="rect">stdin.py</a> - reading a line at a time from standard input
        without blocking the reactor</li>
        <li><a href="streaming.py" shape="rect">streaming.py</a> - example of a push producer/consumer system</li>
        <li><a href="filewatch.py" shape="rect">filewatch.py</a> - write the content of a file to standard out
        one line at a time</li>
        <li><a href="shoutcast.py" shape="rect">shoutcast.py</a> - example Shoutcast client</li>
        <li><a href="gpsfix.py" shape="rect">gpsfix.py</a> - example using the SerialPort transport and GPS
        protocols to display fix data as it is received from the device</li>
        <li><a href="wxacceptance.py" shape="rect">wxacceptance.py</a> - acceptance tests for wxreactor</li>
        <li><a href="postfix.py" shape="rect">postfix.py</a> - test application for PostfixTCPMapServer</li>
    </ul>

</div>

    <p><a href="../howto/index.html">Index</a></p>
    <span class="version">Version: 12.1.0</span>
  </body>
</html>