0

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()
4

1 に答える 1