-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsendUDP.py
46 lines (35 loc) · 856 Bytes
/
sendUDP.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!C:\Users\fishmand\Projects\SerialUDPRelay\venv\Scripts\python.exe
import sys, time
import os
from socket import *
#
# process cmd params
#
#print sys.argv
def usage():
print("USAGE: sendUDP.py 'string' port [IP=127.0.0.1]")
print("Example: sendUDP.py abc 33001 127.0.0.1")
sys.exit(0)
if len(sys.argv)<3:
usage()
DATA=sys.argv[1]
HOST="127.0.0.1"
if len(sys.argv)>=3:
PORT=sys.argv[2]
if len(sys.argv)>=4:
HOST=sys.argv[3]
#
# connect to UDP broadcast port for sending commands
#
s = socket(AF_INET, SOCK_DGRAM)
#s.bind(('192.168.1.255', 0))
#s.bind((HOST, MYPORT))
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
if DATA=='bintest':
from struct import *
b=''
for i in range(47):
b+=pack('d',float(i))
s.sendto(b, (HOST, int(PORT)))
else:
s.sendto(DATA.encode(), (HOST, int(PORT)))