Hallo,
ich würde gern in die Netzwerkschnittstellen/Socketprogrammierung in Python einsteigen.
Dazu habe ich ein paar Fragen und würde mich freuen, wenn ich Antworten/Hilfe bekomme.
Folgendes Beipsiel empfängt ja in einer Dauerschleife Daten und gibt diese aus
import socket
import sys
while True:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except except socket.error:
print 'Fehler bei Socket'
continue
break
print 'Socket erstellt'
host = 'adress';
port = port;
s.connect((host , port))
print 'Socket verbunden zu ' + host
def empfange():
while 1:
data = s.recv(4096)
print data
empfange()
Alles anzeigen
Da ist jetzt die Puffergröße bei 4096 Bytes.
Was ist, wenn ich jetzt Daten die größer/kleiner (variabel) sind als die angegebenen 4096 Bytes empfangen will?
Wenn nun 4096 Bytes empfangen wurde, wird "data" überschrieben, richtig?
Vielleicht schreib ich mal den Hintergrund dazu.
Ich bekomme bald eine Anwendung, die über eine Schnittstelle Daten bereitstellt, welche in unregelmäßigen Abständen gesendet werden.
Und diese möchte ich dann in Python weiterverarbeiten.
Wenn denn nun ein Stoppzeichen in den Daten ist, welcher einen Datensatz vom anderen trennt, kann ich das ganze ja mit "if "zeichen" in data" prüfen.
Aber wie kann ich dann den ersten Datensatz in eine neue Variable speichern und wieder weiter nach Datensätzen "hören"?