OK, danke für die Antworten.
Bei dem von mit genutzten Protokoll sind Testframes ausdrücklich vorgesehen.
Die werde ich dann aktiv triggern und auswerten.
Die Suche ergab 43 Treffer
- Mittwoch 2. Februar 2022, 20:41
- Forum: Netzwerkprogrammierung
- Thema: QtNetwork.QTcpServer - Events
- Antworten: 6
- Zugriffe: 4585
- Dienstag 1. Februar 2022, 16:42
- Forum: Netzwerkprogrammierung
- Thema: QtNetwork.QTcpServer - Events
- Antworten: 6
- Zugriffe: 4585
Re: QtNetwork.QTcpServer - Events
OK, schade ....
Ich hätte gedacht, dass die vorhandenen Events mir diese Funktionalitäten abnehmen würden.
Ich hätte gedacht, dass die vorhandenen Events mir diese Funktionalitäten abnehmen würden.
- Montag 31. Januar 2022, 19:51
- Forum: Netzwerkprogrammierung
- Thema: QtNetwork.QTcpServer - Events
- Antworten: 6
- Zugriffe: 4585
QtNetwork.QTcpServer - Events
Nach längerem hin und her habe ich das Qt-Framework gefunden.
Neben der komfortablen Nutzung von UI-Elementen möchte ich auch die Netzwerkunterstützung nutzen.
Der Server inclusive des Clienthandlings laufen soweit:
class Client(QtCore.QObject):
def SetSocket(self, socket):
self.rx_counter = 0 ...
Neben der komfortablen Nutzung von UI-Elementen möchte ich auch die Netzwerkunterstützung nutzen.
Der Server inclusive des Clienthandlings laufen soweit:
class Client(QtCore.QObject):
def SetSocket(self, socket):
self.rx_counter = 0 ...
- Donnerstag 27. Januar 2022, 19:42
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Eine weitere Frage wäre:
Wie bekomme ich meine Callbacks in den socketserver.py?
Wie bekomme ich meine Callbacks in den socketserver.py?
- Donnerstag 27. Januar 2022, 19:32
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Was heißt hier "normale" Sockets? Du hast einen Handler, der exakt einen Frame liest und dann die Verbindung beendet. Wenn Du mehrere Frames lesen willst, brauchst Du eine Schleife.
EiEiEi...... da hab ich wohl den Wald vor lauter Bäumen übersehen.....
Der Server läuft jetzt stabil.
Vielen ...
- Donnerstag 27. Januar 2022, 08:10
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Sirius3 hat geschrieben: Mittwoch 26. Januar 2022, 22:33 @Pf@nne: natürlich wird nur ein Frame gelesen, so hast Du es ja programmiert.
Ja, Frame für Frame, so ist es gewollt.
Aber scheinbar wird nach dem Lesen des einen Frames die TCP-Verbindung abgebaut.
Das ist bisher mit dem "normalen" Socket nicht passiert.
- Mittwoch 26. Januar 2022, 22:21
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Code: Alles auswählen
---
<module 'pynng' from 'h:\\Pfanne-NET\\HomeControl\\Code\\Python\\104-CMC-Mapper\\CMC-104_Mapper\\pynng.py'>
---
---
<module 'pynng' from 'h:\\Pfanne-NET\\HomeControl\\Code\\Python\\104-CMC-Mapper\\CMC-104_Mapper\\pynng.py'>
---
- Mittwoch 26. Januar 2022, 22:16
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Das Problem ist simple zu lösen:
msg = file.read(2)
assert msg[0] == 0x68
msg += file.read(msg[1])
Die nachfolgenden Frames kommen nicht, weil die TCP Verbindung abgebaut wird.
Kann es sein, das die Fileübertragung endet, wenn der Filetransfer complete ist?
Wireshark:
[Conversation ...
- Mittwoch 26. Januar 2022, 21:19
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Ein schneller Blick auf die entsprechende Seite bei PyPI offenbart, dass es für die Python Versionen 3.5 bis 3.9 verfügbar ist.
Da es immer ein bisschen dauert, bis die Packete nachziehen, macht es wenig Sinn immer die neueste Python-Version zu verwenden.
Hmm... dann muss ich wohl zum Testen ...
- Mittwoch 26. Januar 2022, 20:56
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Ein schneller Blick auf die entsprechende Seite bei PyPI offenbart, dass es für die Python Versionen 3.5 bis 3.9 verfügbar ist.
Da es immer ein bisschen dauert, bis die Packete nachziehen, macht es wenig Sinn immer die neueste Python-Version zu verwenden.
Hmm... dann muss ich wohl zum Testen ...
- Mittwoch 26. Januar 2022, 20:54
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Die Daten an `self.data` zu binden, ist wenig sinnvoll, weil es nicht benutzt wird. Du scheinst Binärdaten zu haben, da ist ein strip falsch.
Statt direkt `recv` oder `send` zu benutzen, ist es viel angenehmer, makefile zu benutzen, dann macht man weniger Fehler.
Und natürlich mußt Du auch hier ...
- Mittwoch 26. Januar 2022, 20:13
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Moin,
ich scheitere schon an der Installation von pynng...... :?
pip3 install pynng
Collecting pynng
Downloading pynng-0.7.1.tar.gz (3.8 MB)
|████████████████████████████████| 3.8 MB 3.3 MB/s
Preparing metadata (setup.py) ... done
Requirement already satisfied: cffi in c:\users\pfanne ...
ich scheitere schon an der Installation von pynng...... :?
pip3 install pynng
Collecting pynng
Downloading pynng-0.7.1.tar.gz (3.8 MB)
|████████████████████████████████| 3.8 MB 3.3 MB/s
Preparing metadata (setup.py) ... done
Requirement already satisfied: cffi in c:\users\pfanne ...
- Mittwoch 26. Januar 2022, 14:46
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Re: Probleme TCP-Server
Die Zeile hier sieht falsch aus:
self.data = self.request.recv(1024).strip()
Die stammt aus den "offiziellen" Beispielen:
Examples
socketserver.TCPServer Example
This is the server side:
import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
"""
The request handler ...
- Dienstag 25. Januar 2022, 21:54
- Forum: Netzwerkprogrammierung
- Thema: Probleme TCP-Server
- Antworten: 19
- Zugriffe: 9143
Probleme TCP-Server
Ich habe eure Ratschläge befolgt und mit einen "fertigen" TCP-Server besorgt.
Ich habe diesen Server hier genutzt:
https://docs.python.org/3/library/socketserver.html
und in diesem Beispiel umgesetzt.
import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
def handle(self ...
Ich habe diesen Server hier genutzt:
https://docs.python.org/3/library/socketserver.html
und in diesem Beispiel umgesetzt.
import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
def handle(self ...
- Sonntag 23. Januar 2022, 22:47
- Forum: Allgemeine Fragen
- Thema: callback Probleme beim Zugriff
- Antworten: 4
- Zugriffe: 487
Re: callback Probleme beim Zugriff
Da ist ein vereinfachtes Beispiel aus meinem aktuellen Projekt.
Class1 ist eine von zwei Hauptklassen die eigentlich aktiv nichts macht und nur initialisiert wird um dann functions zum Ausführen von Aufgaben enthält.
Class2 ist eine TCP-Serverklasse die die nach dem Empfang von Daten einen Calback ...
Class1 ist eine von zwei Hauptklassen die eigentlich aktiv nichts macht und nur initialisiert wird um dann functions zum Ausführen von Aufgaben enthält.
Class2 ist eine TCP-Serverklasse die die nach dem Empfang von Daten einen Calback ...
- Sonntag 23. Januar 2022, 21:56
- Forum: Allgemeine Fragen
- Thema: callback Probleme beim Zugriff
- Antworten: 4
- Zugriffe: 487
callback Probleme beim Zugriff
Moin,
scheinbar habe ich hier Murx programmiert.
Aber wie würde man es richtig machen?
Wie kann ich aus dem Callback heraus functions sowohl in c1 als auch c2 aufrufen?
In dem Beispiel passiert beim drücken von "1" mal garnix, nicht mal ein Fehler.
Beim Drücken von "2" gibt es einen Fehler "name ...
scheinbar habe ich hier Murx programmiert.
Aber wie würde man es richtig machen?
Wie kann ich aus dem Callback heraus functions sowohl in c1 als auch c2 aufrufen?
In dem Beispiel passiert beim drücken von "1" mal garnix, nicht mal ein Fehler.
Beim Drücken von "2" gibt es einen Fehler "name ...
- Mittwoch 19. Januar 2022, 17:06
- Forum: Netzwerkprogrammierung
- Thema: socket server - thread - win32com
- Antworten: 7
- Zugriffe: 4868
Re: socket server - thread - win32com
Das ist doch immer noch das gleiche - da gehst du davon aus, dass du immer ein komplettes Datenpaket bekommst. Was ein *Strom* dir nunmal nicht garantiert.
Ich hab doch hier zumindest eine Kontrolle auf Vollständigkeit implementiert.
In Byte 2 steht die Framegröße.
if msg[0] == 0x68 ...
- Mittwoch 19. Januar 2022, 14:57
- Forum: Netzwerkprogrammierung
- Thema: socket server - thread - win32com
- Antworten: 7
- Zugriffe: 4868
Re: socket server - thread - win32com
Ich habe den Server nach einem Beispiel aus dem Netz umgebaut.
rx_counter = 0
tx_counter = 0
testframe_ok = False
###############################################################################
# IEC60870-5-104 Server ...
rx_counter = 0
tx_counter = 0
testframe_ok = False
###############################################################################
# IEC60870-5-104 Server ...
- Mittwoch 19. Januar 2022, 07:26
- Forum: Netzwerkprogrammierung
- Thema: socket server - thread - win32com
- Antworten: 7
- Zugriffe: 4868
Re: socket server - thread - win32com
Moin blackjack,
erstmal danke für deine Ausführungen!
Im ersten Schritt würde ich versuchen den Server mal umzubauen.
Erster Ansatz wäre hier nur das receive in einen thread zu verfrachten.
Eine Klasse muss der Server ja auch nicht zwingend sein.
Der Server soll ja nur aus dem "main" heraus ...
erstmal danke für deine Ausführungen!
Im ersten Schritt würde ich versuchen den Server mal umzubauen.
Erster Ansatz wäre hier nur das receive in einen thread zu verfrachten.
Eine Klasse muss der Server ja auch nicht zwingend sein.
Der Server soll ja nur aus dem "main" heraus ...
- Dienstag 18. Januar 2022, 22:26
- Forum: Netzwerkprogrammierung
- Thema: socket server - thread - win32com
- Antworten: 7
- Zugriffe: 4868
socket server - thread - win32com
Moin,
ich habe einen TCP-Server laufen.
Damit <TCPsever.accept()> und <client_socket.recv(1024)> nicht zum blockieren des Codes führen laufen diese einem thread.
Das funktioniert soweit auch sehr gut.
class Server(threading.Thread):
def __init__(self, GA_callback, iFrame_callback, ip, port ...
ich habe einen TCP-Server laufen.
Damit <TCPsever.accept()> und <client_socket.recv(1024)> nicht zum blockieren des Codes führen laufen diese einem thread.
Das funktioniert soweit auch sehr gut.
class Server(threading.Thread):
def __init__(self, GA_callback, iFrame_callback, ip, port ...
