3
# Copyright (c) 2001-2009 Twisted Matrix Laboratories.
4
# See LICENSE for details.
6
from OpenSSL import SSL
9
from twisted.internet.protocol import ClientFactory
10
from twisted.protocols.basic import LineReceiver
11
from twisted.internet import ssl, reactor
14
class EchoClient(LineReceiver):
16
def connectionMade(self):
17
self.sendLine("Hello, world!")
18
self.sendLine("What a fine day it is.")
19
self.sendLine(self.end)
21
def connectionLost(self, reason):
22
print 'connection lost (protocol)'
24
def lineReceived(self, line):
25
print "receive:", line
27
self.transport.loseConnection()
29
class EchoClientFactory(ClientFactory):
32
def clientConnectionFailed(self, connector, reason):
33
print 'connection failed:', reason.getErrorMessage()
36
def clientConnectionLost(self, connector, reason):
37
print 'connection lost:', reason.getErrorMessage()
41
factory = EchoClientFactory()
42
reactor.connectSSL('localhost', 8000, factory, ssl.ClientContextFactory())
45
if __name__ == '__main__':