Python コーダー
各接続で3000バイトのデータを受信するサーバーを構築するためにツイストで作業しています。私の問題は、パッケージが切り捨てられ、パッケージの一部としてデータベースに保存されていることです。私が探しているのは、この種を解決する方法です1 つの長いデータとして解析する必要があるデータ パッケージ。
受信した行はウェイではありません.この種のデータはデリミタなしで送信されます.それからループの方法を考えています,しかし、私はそれを完全に確信していません.
from twisted.internet.protocol import Factory, Protocol
from twisted.internet import reactor
import binascii
from Datagram import *
class LingServer(Protocol):
def __init__(self):
print 'Staring Ling Server'
pass
def connectionMade(self):
try:
print 'Accepted connection'
except ValueError:
print "Oops! Connection was not started"
def connectionLost(self, reason):
print "Connection lost ", reason
def dataReceived(self, data):
try:
print "Data received ", data
data = binascii.hexlify(data)
Datagram (header=data[:10], content=data[10:])
session.commit()
#self.transport.write(self.decoder.processDatagram(data))
except ValueError:
print "Oops! That was no valid data. Try again..."
class LingFactory(Factory):
def __init__(self):
pass
def buildProtocol(self, addr):
return LingServer()
reactor.listenTCP(12345, LingFactory())
reactor.run()