Schnittstelle Client <> Server einrichten
Verfasst: Freitag 7. Oktober 2016, 10:28
Hallo liebe Forengemeinde,
ich bin ein Neuling hier und hoffe das ihr mir bei meinem Problem helfen könnt.
Ich denke, dass ich ein bisschen auf dem Schlauch stehe und nur einen kleinen anstupser brauche
Da ich selbst in anderen Foren aktiv bin weiß ich, dass es für euch leichter ist mir zu helfen wenn ich mein Problem so genau wie möglich beschreibe.
Also zu meinem Problem:
Ich möchte eine Ethernet Verbindung zwischen meinem PC (Client) und einem weiteren Gerät (Server) herstellen.
Der Server bietet verschiedene Dienste, die ich nutzen möchte. Hier ist zu sehen, wie ein Telegramm aussehen muss, um zum Beispiel den Dienst nutzen zu können virtuelle Ein- bzw. Ausgänge auslesen zu können.

Soweit so gut. Ich habe mir dann mal ein Tool runtergeladen (TCP Test Tool) um eine solche Anforderung mal zu stellen. Es stimmen zwar nicht alle Bytes mit den Erwartungen überein ABER das sieht schon mal sehr gut aus.

Nun versuche ich ein kleines Python Programm zu schreiben, welches ebenfalls eine Anforderung senden und empfangen soll. Im Weiteren möchte ich diese Daten dann weiterverarbeiten.
Hier mein kleines Programm:
Führe ich das Programm nun aus so erhalte ich weder bei der Erstellung des Sockets noch beim Verbindungsaufbau (connect) eine Exception. Daher gehe ich davon aus, dass die Verbindung zum Server steht. Leider stürzt die Python Shell anschießend ab und ich kann sie nur noch zwingen sich zu schließen. Eine empfangende Antwort wird nicht mehr ausgegeben.
Ich hoffe ihr seht meinen Fehler und könnt mir helfen.
Vielen Dank und freundliche Grüße!
Markus
ich bin ein Neuling hier und hoffe das ihr mir bei meinem Problem helfen könnt.
Ich denke, dass ich ein bisschen auf dem Schlauch stehe und nur einen kleinen anstupser brauche
Da ich selbst in anderen Foren aktiv bin weiß ich, dass es für euch leichter ist mir zu helfen wenn ich mein Problem so genau wie möglich beschreibe.
Also zu meinem Problem:
Ich möchte eine Ethernet Verbindung zwischen meinem PC (Client) und einem weiteren Gerät (Server) herstellen.
Der Server bietet verschiedene Dienste, die ich nutzen möchte. Hier ist zu sehen, wie ein Telegramm aussehen muss, um zum Beispiel den Dienst nutzen zu können virtuelle Ein- bzw. Ausgänge auslesen zu können.
Soweit so gut. Ich habe mir dann mal ein Tool runtergeladen (TCP Test Tool) um eine solche Anforderung mal zu stellen. Es stimmen zwar nicht alle Bytes mit den Erwartungen überein ABER das sieht schon mal sehr gut aus.
Nun versuche ich ein kleines Python Programm zu schreiben, welches ebenfalls eine Anforderung senden und empfangen soll. Im Weiteren möchte ich diese Daten dann weiterverarbeiten.
Hier mein kleines Programm:
Code: Alles auswählen
import socket
n0 = '0x05'
n1 = '0x15'
n2 = '0x00'
n3 = '0x05'
n4 = '0x2C'
n5 = '0x00'
n6 = '0x01'
n7 = '0x00'
n8 = '0xD3'
n9 = '0x10'
ip = '169.254.60.1'
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # AF_INET und SOCK_STREAM für einen TCP Socket
print "socket created"
s.connect((ip, 9000))
print "Your are connected to PNOZ m B1 with IP adress of %s"%(ip)
try:
#while True:
s.send(n0)
s.send(n1)
s.send(n2)
s.send(n3)
s.send(n4)
s.send(n5)
s.send(n6)
s.send(n7)
s.send(n8)
s.send(n9)
antwort = s.recv(252)
print "[%s] %s" % (ip,antwort)
finally:
s.close()
Ich hoffe ihr seht meinen Fehler und könnt mir helfen.
Vielen Dank und freundliche Grüße!
Markus