##// END OF EJS Templates
Trying frame without semicolon.
imanay -
r101:102
parent child
Show More
@@ -2,17 +2,19
2 2
3 3 class ABSClient:
4 4
5 def __init__(self,ipSource="localhost", ipDestino="192.168.1.117", portDestino=7000):
5 def __init__(self,ipSource="192.168.1.117", iDSource="Clnt_01", ipDestino="192.168.1.117", iDDestino = "CeCnMod", portDestino=7000):
6 6
7 7 self.ipSource = ipSource
8 self.iDSource = iDSource
8 9 self.ipDestino = ipDestino
10 self.iDDestino = iDDestino
9 11 self.portDestino = portDestino
10 12
11 13 self.createObjects()
12 14
13 15 def createObjects(self):
14 16
15 self.commObj = library3.TCPComm(self.ipSource, self.ipDestino, self.portDestino)
17 self.commObj = library3.TCPComm(self.ipSource, self.iDSource, self.ipDestino, self.iDDestino, self.portDestino)
16 18 self.wFiles = library3.FilesStuff()
17 19
18 20 def __ConnectionWithCentralControl(self, cmd, data):
@@ -9,18 +9,20
9 9 __HEADER = "JRO"
10 10 __TYPE = "ABS"
11 11
12 def __init__(self, ipSource, ipDestino, portDestino, asServer=False):
12 def __init__(self, ipSource, iDSource, ipDestino, iDDestino, portDestino, asServer=False):
13 13
14 14 self.ipSource = ipSource
15 self.iDSource = iDSource
15 16 self.ipDestino = ipDestino
17 self.iDDestino = iDDestino
16 18 self.portDestino = portDestino
17 19 self.addr = (ipDestino,portDestino)
18 20
19 21 self.sc = "none"
20 22 self.answer = "none" #test
21 23 self.asServer = False
22 self.len = 0
23 self.crc = 0
24 self.len = "000000"
25 self.crc = "0"
24 26
25 27 self.openSocket(asServer)
26 28
@@ -51,15 +53,23
51 53
52 54 def waitData(self):
53 55 if self.asServer == True:
54 trama_rx = self.waitAsServer()
56 trama_rx, l = self.waitAsServer()
55 57 else:
56 trama_rx = self.waitAsClient()
57
58 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx)
58 trama_rx, l = self.waitAsClient()
59
60 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx, l)
59 61
60 62 return ipSource, ipDestino, cmd, data
61
62 def waitAsServer(self, nbytes = 1024):
63
64 def waitAsClient2(self, nbytes = 1024):
65 print "\nWaiting the server."
66 # Short data through ethernet
67 trama_rx = self.socket_c.recv(nbytes)
68 print "\nThis socket has received this data: " + str(trama_rx)
69
70 return trama_rx
71
72 def waitAsServer2(self, nbytes = 1024):
63 73 print "\nWaiting some client."
64 74 self.socket_c.listen(1)
65 75 sc, addr = self.socket_c.accept()
@@ -75,17 +85,42
75 85
76 86 print "\nThis socket has received some data from: " + str(self.answer)
77 87
78 return trama_rx
88 return trama_rx
89
90 def waitAsServer(self, nbytes = 1024):
91 print "\nWaiting some client."
92 self.socket_c.listen(1)
93 sc, addr = self.socket_c.accept()
94 self.sc = sc
95 self.answer = addr
96 # Big data through ethernet
97 cnt = 0;
98 first = 0;
99 trama_rx = ""
100 while True:
101 tmp = self.sc.recv(nbytes)
102 trama_rx = trama_rx + tmp
103 cnt = len(trama_rx)
104 if first == 0:
105 first = 1
106 lng = int(trama_rx[20:26])
107 if cnt == lng:
108 break
109
110 print "\nThis socket has received some data from: " + str(self.answer)
111
112 return trama_rx, lng
79 113
80 114 def waitAsClient(self, nbytes = 1024):
81 115 print "\nWaiting the server."
82 116 # Short data through ethernet
83 117 trama_rx = self.socket_c.recv(nbytes)
118 lng = int(trama_rx[20:26])
84 119 print "\nThis socket has received this data: " + str(trama_rx)
85 120
86 return trama_rx
87
88 def sendData(self, cmd, data, ipDestino):
121 return trama_rx, lng
122
123 def sendData2(self, cmd, data, ipDestino):
89 124
90 125 trama_tx = self.__HEADER + ":" + self.__TYPE + ":" + str(self.ipSource) + ":" + str(ipDestino) + \
91 126 ":" + str(self.len) + ":" + str(cmd) + ":" + str(data) + ":" + str(self.crc) + ":" + "quit"
@@ -94,6 +129,21
94 129 self.SendAsServer(trama_tx)
95 130 else:
96 131 self.SendAsClient(ipDestino, trama_tx)
132
133 def sendData(self, cmd, data, ipDestino):
134
135 trama_tx = self.__HEADER + self.__TYPE + self.iDSource + \
136 self.iDDestino + self.len + str(cmd) + str(data) + self.crc
137
138 self.len = self.int2str(len(trama_tx))
139
140 trama_tx = self.__HEADER + self.__TYPE + self.iDSource + \
141 self.iDDestino + self.len + str(cmd) + str(data) + self.crc
142
143 if self.asServer == True:
144 self.SendAsServer(trama_tx)
145 else:
146 self.SendAsClient(ipDestino, trama_tx)
97 147
98 148 def SendAsServer(self, trama_tx):
99 149
@@ -107,7 +157,7
107 157 self.socket_c.send(trama_tx)
108 158 print "Sending message:[" + trama_tx + "] to: " + ipDestino
109 159
110 def __getTrama(self, trama):
160 def __getTrama2(self, trama):
111 161
112 162 FrameList = trama.split(':')
113 163
@@ -123,11 +173,41
123 173
124 174 return ipSource, ipDestino, cmd, data
125 175
176 def __getTrama(self, trama, l):
177
178 header = trama[0:3]
179 TypeOfInstrument = trama[3:6]
180 ipSource = trama[6:13]
181 ipDestino = trama[13:20]
182 len = trama[20:26]
183 cmd = trama[26:30]
184 ldata = l-31
185 data = trama[30:30+ldata]
186 crc = trama[30+ldata:]
187
188 return ipSource, ipDestino, cmd, data
189
126 190 def close_socket(self):
127 191 self.socket_c.close()
128 192
129 193 def open_socket(self):
130 194 self.socket_c = socket.socket()
195
196 def int2str(self, n):
197
198 str_n = str(n)
199 l_n = len(str_n)
200 if l_n == 1:
201 str_n = "00000" + str_n
202 elif l_n == 2:
203 str_n = "0000" + str_n
204 elif l_n == 3:
205 str_n = "000" + str_n
206 elif l_n == 4:
207 str_n = "00" + str_n
208 elif l_n == 5:
209 str_n = "0" + str_n
210 return str_n
131 211
132 212 class FilesStuff():
133 213
@@ -22,8 +22,8
22 22 def createObjects(self):
23 23
24 24 asServer = True
25 self.commServerObj = library3.TCPComm("Central_Control", self.ipDestino, self.portDestino, asServer)
26 self.commClientObj = library3.TCPComm("Central_Control", self.ipDestino2, self.portDestino2)
25 self.commServerObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino, "CnMod01", self.portDestino, asServer)
26 self.commClientObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino2, "CnMod01", self.portDestino2)
27 27
28 28 def waitRequest(self):
29 29
General Comments 0
You need to be logged in to leave comments. Login now