Ik heb een GPS ontvanger waarmee ik via ethernet data uit kan lezen. Als ik bijv. Putty gebruik om verbinding te maken (zeg op 1.2.3.4 en poort 3000) dan zie ik meteen een hoop data binnen komen, dus alles is goed verbonden.
Nu wil ik de data met Python binnenhalen, maar ik krijg het maar niet voor elkaar. Ik dacht dat ik gewoon de poort op mijn machine moest binden en dat hij dan vanzelf zou moeten zien dat er iets binnen komt. Zoiets:
Helaas gebeurt er dan niets, hij blijft hangen op sock.recvfrom(256) omdat die blocking is. Voor de grap geprobeerd om op het IP van de ontvanger te binden: sock.bind(('1.2.3.4', 3000)) maar daar wordt Python niet blij van.
Dus ik dacht, misschien heb ik het gewoon verkeerd begrepen en moet ik connect gebruiken en een dummy bericht sturen om data te krijgen ofzo:
Maar die blijft ook hangen op sock.recv(256). Ik snap er duidelijk niets van, dit zou toch simpel moeten zijn
Iemand een idee?
Nu wil ik de data met Python binnenhalen, maar ik krijg het maar niet voor elkaar. Ik dacht dat ik gewoon de poort op mijn machine moest binden en dat hij dan vanzelf zou moeten zien dat er iets binnen komt. Zoiets:
Python:
1
2
3
4
5
6
7
8
9
10
11
12
| import socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(('', 3000)) while True: data, addr = sock.recvfrom(256) print(data) sock.close() |
Helaas gebeurt er dan niets, hij blijft hangen op sock.recvfrom(256) omdat die blocking is. Voor de grap geprobeerd om op het IP van de ontvanger te binden: sock.bind(('1.2.3.4', 3000)) maar daar wordt Python niet blij van.
Dus ik dacht, misschien heb ik het gewoon verkeerd begrepen en moet ik connect gebruiken en een dummy bericht sturen om data te krijgen ofzo:
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
| import socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.connect(('1.2.3.4', 3000)) sock.sendall(b"") data = sock.recv(256) print(data) sock.close() |
Maar die blijft ook hangen op sock.recv(256). Ik snap er duidelijk niets van, dit zou toch simpel moeten zijn

HP ZBook Studio G3 - Hyundai Ioniq EV Classic - Opel Vivaro-e 75kWh - 22x Prusa i3 MK3S - 8x Prusa MINI+ - Ooznest Workbee 1,5m x 1,5m