mirror of https://github.com/DJ2LS/FreeDATA.git
support for large data
parent
9cf0008da6
commit
2fd8f5f6f7
39
tnc.py
39
tnc.py
|
@ -19,10 +19,19 @@ import arq
|
||||||
class TCPRequestHandler(socketserver.BaseRequestHandler):
|
class TCPRequestHandler(socketserver.BaseRequestHandler):
|
||||||
|
|
||||||
def handle(self):
|
def handle(self):
|
||||||
|
|
||||||
|
self.data = bytes()
|
||||||
|
while True:
|
||||||
|
chunk = self.request.recv(8192)#.strip()
|
||||||
|
if chunk.endswith(b'\n'):
|
||||||
|
break
|
||||||
|
|
||||||
|
self.data += chunk
|
||||||
|
|
||||||
|
|
||||||
# self.request is the TCP socket connected to the client
|
# self.request is the TCP socket connected to the client
|
||||||
self.data = self.request.recv(1024).strip()
|
#self.data = self.request.recv(1024).strip()
|
||||||
|
### self.data = self.request.recv(1000000).strip()
|
||||||
|
|
||||||
# interrupt listening loop "while true" by setting MODEM_RECEIVE to False
|
# interrupt listening loop "while true" by setting MODEM_RECEIVE to False
|
||||||
#if len(self.data) > 0:
|
#if len(self.data) > 0:
|
||||||
|
@ -37,29 +46,31 @@ class TCPRequestHandler(socketserver.BaseRequestHandler):
|
||||||
|
|
||||||
#if self.data == b'TEST':
|
#if self.data == b'TEST':
|
||||||
#logging.info("DER TEST KLAPPT! HIER KOMMT DER COMMAND PARSER HIN!")
|
#logging.info("DER TEST KLAPPT! HIER KOMMT DER COMMAND PARSER HIN!")
|
||||||
|
if self.data.startswith(b'SHOWBUFFERSIZE'):
|
||||||
|
self.request.sendall(bytes(static.RX_BUFFER[-1]))
|
||||||
|
print(static.RX_BUFFER_SIZE)
|
||||||
|
|
||||||
# BROADCAST PARSER -----------------------------------------------------------
|
# BROADCAST PARSER -----------------------------------------------------------
|
||||||
|
|
||||||
if self.data.startswith(b'BC:'):
|
if self.data.startswith(b'BC:'):
|
||||||
#import modem
|
#import modem
|
||||||
#modem = modem.RF()
|
#modem = modem.RF()
|
||||||
|
|
||||||
static.MODEM_RECEIVE = True ####### FALSE....
|
|
||||||
|
|
||||||
data = self.data.split(b'BC:')
|
data = self.data.split(b'BC:')
|
||||||
#modem.Transmit(data[1])
|
#modem.Transmit(data[1])
|
||||||
|
|
||||||
static.MODEM_RECEIVE = True
|
|
||||||
|
|
||||||
|
|
||||||
# SEND AN ARQ FRAME -----------------------------------------------------------
|
# SEND AN ARQ FRAME -----------------------------------------------------------
|
||||||
|
|
||||||
if self.data.startswith(b'ACK:'):
|
if self.data.startswith(b'ARQ:'):
|
||||||
static.MODEM_RECEIVE = True ############## FALSE
|
|
||||||
|
|
||||||
data = self.data.split(b'ACK:')
|
data = self.data.split(b'ARQ:')
|
||||||
data_out = data[1]
|
data_out = data[1]
|
||||||
|
|
||||||
arq.transmit(data_out)
|
#arq.transmit(data_out)
|
||||||
|
|
||||||
|
TRANSMIT_ARQ = threading.Thread(target=arq.transmit, args=[data_out], name="TRANSMIT_ARQ")
|
||||||
|
TRANSMIT_ARQ.start()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue