Die Suche ergab 43 Treffer

von Pf@nne
Mittwoch 2. Februar 2022, 20:41
Forum: Netzwerkprogrammierung
Thema: QtNetwork.QTcpServer - Events
Antworten: 6
Zugriffe: 4585

Re: QtNetwork.QTcpServer - Events

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.
von Pf@nne
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.
von Pf@nne
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 ...
von Pf@nne
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?
von Pf@nne
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 ...
von Pf@nne
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.
von Pf@nne
Mittwoch 26. Januar 2022, 22:21
Forum: Netzwerkprogrammierung
Thema: Probleme TCP-Server
Antworten: 19
Zugriffe: 9143

Re: Probleme TCP-Server

__deets__ hat geschrieben: Mittwoch 26. Januar 2022, 21:39
Pf@nne hat geschrieben: Mittwoch 26. Januar 2022, 21:19
Was sagt den

import pynng
print(pynng)

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'>
---
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...
von Pf@nne
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 ...