Twisted doesn't break up things into lines for you automatically. You need to use a class that does that for you, in this case twisted.protocols.basic.LineReceiver, probably. Either subclass it and ProcessProtocol and hook them up appropriately, or create a new instance.