forked from rwlloyd/ARWACv4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
socketcom.py
124 lines (107 loc) · 3.77 KB
/
socketcom.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import sys
import numpy as np
from numpy import inf
import cv2
import os
from socket import *
from decimal import Decimal
############################################################
class CRaspiScketUDPClient(object):
'''
# as client
# Message Sender
'''
def __init__(self, sock=None):
# self.host ="10.101.12.90" "192.168.1.10" # set to IP address of target computer : TX2
# self.host = "10.101.8.30" #"192.168.1.12" # set to IP address of target computer : TX1
self.host ="10.101.8.66"
self.port = 13000
self.addr = (self.host, self.port)
self.UDPSock = socket(AF_INET, SOCK_DGRAM)
def Data2Send(self, msg):
# self.data = msg.encode('utf-8')
self.data = str(msg).encode('utf-8')
self.UDPSock.sendto(self.data, self.addr)
def Clent2Close(self):
self.UDPSock.close()
os._exit(0)
class CRaspiScketUDPSever(object):
'''
# as server
# Message Receiver
'''
def __init__(self, sock=None):
self.host = ""#"192.168.1.12" # should be the addres of caller
self.port = 13000
self.buf = 1024
self.addr = (self.host, self.port)
self.UDPSock = socket(AF_INET, SOCK_DGRAM)
self.UDPSock.bind(self.addr)
print ("Waiting to receive messages ...")
def Sever2Close(self):
self.UDPSock.close()
os._exit(0)
"""
def jetsend(self, msg):
totalsent = 0
MSGLEN = len(msg)
while totalsent < MSGLEN:
sent = self.sock.send(msg[totalsent:])
if sent == 0:
raise RuntimeError("socket connection broken")
totalsent = totalsent + sent
def jetreceive(self):
chunks = []
bytes_recd = 0
while bytes_recd < MSGLEN:
chunk = self.sock.recv(min(MSGLEN - bytes_recd, 2048))
if chunk == '':
raise RuntimeError("socket connection broken")
chunks.append(chunk)
bytes_recd = bytes_recd + len(chunk)
return ''.join(chunks)
"""
def RasSend(self, msg):
totalsent = 0
MSGLEN = len(msg)
while totalsent < MSGLEN:
sent = self.UDPSock.send(msg[totalsent:])
if sent == 0:
raise RuntimeError("socket connection broken")
totalsent = totalsent + sent
def RasReceive_msg(self, EOFChar='\036'):
(self.data, self.addr) = self.UDPSock.recvfrom(self.buf)
# print ("Received message: " + self.data.decode('utf-8'))
print ("Received message from {sender} ".format(sender = self.addr))
data= self.data.decode('utf-8')
# print ("Received message: " + data)
text = eval('[' + data + ']')
return text
def RasReceive_data(self, EOFChar='\036'):
(self.data, self.addr) = self.UDPSock.recvfrom(self.buf)
# print ("Received message: " + self.data.decode('utf-8'))
print ("Received message from {sender} ".format(sender = self.addr))
data= self.data.decode('utf-8')
# print ("Received message: " + data)
# text = eval('[' + data + ']')
return data
"""
msg = ''
MSGLEN = 100
while len(msg) < MSGLEN:
chunk = self.UDPSock.recv(MSGLEN-len(msg))
if chunk.find(EOFChar) != -1:
msg = msg + chunk
return msg
msg = msg + chunk
return msg
"""
"""while True:
(self.data, self.addr) = self.UDPSock.recvfrom(self.buf)
# print ("Received message: " + self.data.decode('utf-8'))
if self.data == "exit":
break """
def main():
print('calling....')
if __name__ == '__main__':
main()