##// END OF EJS Templates
imanay -
r63:64
parent child
Show More
@@ -1,488 +1,491
1 1 # imports needed for the file convertion
2 2 import os
3 3 import sys
4 4 import time
5 5 import numpy as np
6 6
7 7 import library
8 8
9 9 class ABSClient:
10 10
11 def __init__(self,ipSource="localhost", ipDestino="192.168.1.100", portDestino=7000):
11 def __init__(self,ipSource="localhost", ipDestino="192.168.1.117", portDestino=7000):
12 12
13 13 self.ipSource = ipSource
14 14 self.ipDestino = ipDestino
15 15 self.portDestino = portDestino
16 16
17 17 self.createObjects()
18 18
19 19 def createObjects(self):
20 20
21 21 self.commObj = library.TCPComm(self.ipSource, self.ipDestino, self.portDestino)
22 22
23 23 def sendFile(self, filename):
24 24
25 25 #From matriz to control module format
26 26 self.FuncionMaestra_GeneraFormatoControlCentral(filename)
27 27 FileName = "FormatoControlCentral.txt"
28 28 F_Obj = open(FileName,"r")
29 29 FileList = F_Obj.readlines()
30 30 F_Obj.close()
31 31 FileStr = "".join(FileList)
32 32 data = FileStr
33 33
34 34 self.commObj.sendData(cmd="SNDF", data=data)
35 35 self.commObj.waitData()
36 self.commObj.close_socket()
36 37
37 38 def changeBeam(self, newBeam):
38 39
39 40 self.commObj.sendData(cmd="CHGB", data=newBeam)
40 41 self.commObj.waitData()
42 self.commObj.close_socket()
41 43
42 44 def __writeFile(self, filename, data):
43 45
44 46 fobj = open(filename,"w")
45 47 fobj.writelines(data)
46 48 fobj.close()
47 49
48 50 def getStatus(self, data):
49 51
50 52 self.commObj.sendData(cmd="ANST", data = data)
51 53 ipSource, ipDestino, cmd, data = self.commObj.waitData()
54 self.commObj.close_socket()
52 55 self.__writeFile("report.txt", data)
53 56
54 57 ##########
55 58
56 59 def FuncionMaestra_GeneraFormatoControlCentral(self,archivo):
57 60 """ Funcion que genera un archivo para el control central"""
58 61
59 62 # CarpetaDeTrabajo='/home/redes/ABS_Control_2012_09_24/Control_Module_v1_Client_09_24/'
60 63 CarpetaDeTrabajo = os.getcwd() + '/'
61 64 #print CarpetaDeTrabajo
62 65 #CarpetaDeTrabajo='/home/redes/workspace/ABS_Client_v2/Debug/'
63 66
64 67 def lst2string(lst):
65 68 string=''
66 69 for i in lst:
67 70 string=string+i
68 71 return string
69 72
70 73 def string2lst(string):
71 74 lst = []
72 75 for i in string:
73 76 lst.append(i)
74 77 return lst
75 78
76 79
77 80 def file1(string, type):
78 81 lst = string2lst(archivo)
79 82 fin = -1
80 83 t = len(lst)
81 84 for i in np.arange(-1,-t,-1):
82 85 if lst[i]=='/':
83 86 fin=i
84 87 break
85 88 if type == '1':
86 89 nombre2 = lst[fin+1:]
87 90 nombre2[-1]='s'
88 91 nombre2 = lst2string(nombre2)
89 92 return nombre2
90 93 if type == '2':
91 94 nombre2 = lst[fin+1:]
92 95 nombre2[-1]='1'
93 96 nombre2 = lst2string(nombre2)
94 97 return nombre2
95 98
96 99
97 100 def EliminaSaltoDeLinea(cadena):
98 101 i = 0
99 102 for elemento in cadena:
100 103 if elemento =='\n' or elemento =='\r':
101 104 pass
102 105 else:
103 106 i=i+1
104 107 return cadena [:i]
105 108
106 109 def NumeroDeExperimentos(path):
107 110 fichero1=open(path,'r')
108 111 cont=0
109 112 for cadena in fichero1:
110 113 cont=cont+1
111 114 if cont==3:
112 115 nexp=''
113 116 pos=0
114 117 for elemento in cadena:
115 118 pos=pos+1
116 119 if elemento=='=':
117 120 nexp=int(cadena[pos:])
118 121 return nexp
119 122 fichero1.close()
120 123
121 124 def Paridad(numero):
122 125 if numero%2==0: return 'par'
123 126 elif numero%2==1: return 'impar'
124 127
125 128 def EvaluaCadena(cadena):
126 129 if len(cadena)>35:
127 130 if cadena[-1]=='$':
128 131 return cadena[-35:-2]
129 132 elif cadena[-1]==']':
130 133 return cadena[-34:-1]
131 134 else:
132 135 return None
133 136
134 137 def GuardaEnLista(path):
135 138 fichero=open(path,'r')
136 139 lista=[]
137 140 for cadena in fichero:
138 141 cadena = EliminaSaltoDeLinea(cadena)
139 142 cadena = EvaluaCadena(cadena)
140 143 if cadena != None:
141 144 lista.append(cadena)
142 145 fichero.close()
143 146 return lista
144 147
145 148 def CreaFicherosPrevios():
146 149 vector = GuardaEnLista(archivo)
147 150 for i in range(1,NumeroDeExperimentos(archivo)+1):
148 151 fichero =open(CarpetaDeTrabajo+str(i)+'.txt','w')
149 152 for j in range(0,16):
150 153 fichero.write(vector[j+16*(i-1)]+'\n')
151 154 fichero.close()
152 155
153 156 def CapturaValoresEnArchivo(path,polarizacion='up'):
154 157 fichero =open(path,'r')
155 158 cnt=0
156 159 lstup=[]
157 160 lstdw=[]
158 161 for cadena in fichero:
159 162 cnt=cnt+1
160 163 if cnt==5:
161 164 su01=cadena[17:20]
162 165 su02=cadena[21:24]
163 166 su03=cadena[25:28]
164 167 su04=cadena[29:32]
165 168 if cnt==6:
166 169 su05=cadena[17:20]
167 170 su06=cadena[21:24]
168 171 su07=cadena[25:28]
169 172 su08=cadena[29:32]
170 173 if cnt==7:
171 174 su09=cadena[17:20]
172 175 su10=cadena[21:24]
173 176 su11=cadena[25:28]
174 177 su12=cadena[29:32]
175 178 if cnt==8:
176 179 su13=cadena[17:20]
177 180 su14=cadena[21:24]
178 181 su15=cadena[25:28]
179 182 su16=cadena[29:32]
180 183 if cnt==13:
181 184 sd01=cadena[17:20]
182 185 sd02=cadena[21:24]
183 186 sd03=cadena[25:28]
184 187 sd04=cadena[29:32]
185 188 if cnt==14:
186 189 sd05=cadena[17:20]
187 190 sd06=cadena[21:24]
188 191 sd07=cadena[25:28]
189 192 sd08=cadena[29:32]
190 193 if cnt==15:
191 194 sd09=cadena[17:20]
192 195 sd10=cadena[21:24]
193 196 sd11=cadena[25:28]
194 197 sd12=cadena[29:32]
195 198 if cnt==16:
196 199 sd13=cadena[17:20]
197 200 sd14=cadena[21:24]
198 201 sd15=cadena[25:28]
199 202 sd16=cadena[29:32]
200 203 lstup=[su01,su02,su03,su04,su05,su06,su07,su08,su09,su10,su11,su12,su13,su14,su15,su16]
201 204 lstdw=[sd01,sd02,sd03,sd04,sd05,sd06,sd07,sd08,sd09,sd10,sd11,sd12,sd13,sd14,sd15,sd16]
202 205 if polarizacion=='up':
203 206 return lstup
204 207 elif polarizacion=='dw':
205 208 return lstdw
206 209 fichero.close()
207 210
208 211 def CapturaValoresEnArchivo2(path,polarizacion='up'):
209 212 fichero =open(path,'r')
210 213 cnt=0
211 214 lstup=[]
212 215 lstdw=[]
213 216 for cadena in fichero:
214 217 cnt=cnt+1
215 218 if cnt==1:
216 219 nu01=cadena[1:4]
217 220 nu02=cadena[5:8]
218 221 nu03=cadena[9:12]
219 222 nu04=cadena[13:16]
220 223 eu01=cadena[17:20]
221 224 eu02=cadena[21:24]
222 225 eu03=cadena[25:28]
223 226 eu04=cadena[29:32]
224 227 if cnt==2:
225 228 nu05=cadena[1:4]
226 229 nu06=cadena[5:8]
227 230 nu07=cadena[9:12]
228 231 nu08=cadena[13:16]
229 232 eu05=cadena[17:20]
230 233 eu06=cadena[21:24]
231 234 eu07=cadena[25:28]
232 235 eu08=cadena[29:32]
233 236 if cnt==3:
234 237 nu09=cadena[1:4]
235 238 nu10=cadena[5:8]
236 239 nu11=cadena[9:12]
237 240 nu12=cadena[13:16]
238 241 eu09=cadena[17:20]
239 242 eu10=cadena[21:24]
240 243 eu11=cadena[25:28]
241 244 eu12=cadena[29:32]
242 245 if cnt==4:
243 246 nu13=cadena[1:4]
244 247 nu14=cadena[5:8]
245 248 nu15=cadena[9:12]
246 249 nu16=cadena[13:16]
247 250 eu13=cadena[17:20]
248 251 eu14=cadena[21:24]
249 252 eu15=cadena[25:28]
250 253 eu16=cadena[29:32]
251 254 if cnt==5:
252 255 wu01=cadena[1:4]
253 256 wu02=cadena[5:8]
254 257 wu03=cadena[9:12]
255 258 wu04=cadena[13:16]
256 259 su01=cadena[17:20]
257 260 su02=cadena[21:24]
258 261 su03=cadena[25:28]
259 262 su04=cadena[29:32]
260 263 if cnt==6:
261 264 wu05=cadena[1:4]
262 265 wu06=cadena[5:8]
263 266 wu07=cadena[9:12]
264 267 wu08=cadena[13:16]
265 268 su05=cadena[17:20]
266 269 su06=cadena[21:24]
267 270 su07=cadena[25:28]
268 271 su08=cadena[29:32]
269 272 if cnt==7:
270 273 wu09=cadena[1:4]
271 274 wu10=cadena[5:8]
272 275 wu11=cadena[9:12]
273 276 wu12=cadena[13:16]
274 277 su09=cadena[17:20]
275 278 su10=cadena[21:24]
276 279 su11=cadena[25:28]
277 280 su12=cadena[29:32]
278 281 if cnt==8:
279 282 wu13=cadena[1:4]
280 283 wu14=cadena[5:8]
281 284 wu15=cadena[9:12]
282 285 wu16=cadena[13:16]
283 286 su13=cadena[17:20]
284 287 su14=cadena[21:24]
285 288 su15=cadena[25:28]
286 289 su16=cadena[29:32]
287 290 if cnt==9:
288 291 nd01=cadena[1:4]
289 292 nd02=cadena[5:8]
290 293 nd03=cadena[9:12]
291 294 nd04=cadena[13:16]
292 295 ed01=cadena[17:20]
293 296 ed02=cadena[21:24]
294 297 ed03=cadena[25:28]
295 298 ed04=cadena[29:32]
296 299 if cnt==10:
297 300 nd05=cadena[1:4]
298 301 nd06=cadena[5:8]
299 302 nd07=cadena[9:12]
300 303 nd08=cadena[13:16]
301 304 ed05=cadena[17:20]
302 305 ed06=cadena[21:24]
303 306 ed07=cadena[25:28]
304 307 ed08=cadena[29:32]
305 308 if cnt==11:
306 309 nd09=cadena[1:4]
307 310 nd10=cadena[5:8]
308 311 nd11=cadena[9:12]
309 312 nd12=cadena[13:16]
310 313 ed09=cadena[17:20]
311 314 ed10=cadena[21:24]
312 315 ed11=cadena[25:28]
313 316 ed12=cadena[29:32]
314 317 if cnt==12:
315 318 nd13=cadena[1:4]
316 319 nd14=cadena[5:8]
317 320 nd15=cadena[9:12]
318 321 nd16=cadena[13:16]
319 322 ed13=cadena[17:20]
320 323 ed14=cadena[21:24]
321 324 ed15=cadena[25:28]
322 325 ed16=cadena[29:32]
323 326 if cnt==13:
324 327 wd01=cadena[1:4]
325 328 wd02=cadena[5:8]
326 329 wd03=cadena[9:12]
327 330 wd04=cadena[13:16]
328 331 sd01=cadena[17:20]
329 332 sd02=cadena[21:24]
330 333 sd03=cadena[25:28]
331 334 sd04=cadena[29:32]
332 335 if cnt==14:
333 336 wd05=cadena[1:4]
334 337 wd06=cadena[5:8]
335 338 wd07=cadena[9:12]
336 339 wd08=cadena[13:16]
337 340 sd05=cadena[17:20]
338 341 sd06=cadena[21:24]
339 342 sd07=cadena[25:28]
340 343 sd08=cadena[29:32]
341 344 if cnt==15:
342 345 wd09=cadena[1:4]
343 346 wd10=cadena[5:8]
344 347 wd11=cadena[9:12]
345 348 wd12=cadena[13:16]
346 349 sd09=cadena[17:20]
347 350 sd10=cadena[21:24]
348 351 sd11=cadena[25:28]
349 352 sd12=cadena[29:32]
350 353 if cnt==16:
351 354 wd13=cadena[1:4]
352 355 wd14=cadena[5:8]
353 356 wd15=cadena[9:12]
354 357 wd16=cadena[13:16]
355 358 sd13=cadena[17:20]
356 359 sd14=cadena[21:24]
357 360 sd15=cadena[25:28]
358 361 sd16=cadena[29:32]
359 362 lst_n_up=[nu01,nu02,nu03,nu04,nu05,nu06,nu07,nu08,nu09,nu10,nu11,nu12,nu13,nu14,nu15,nu16]
360 363 lst_n_dw=[nd01,nd02,nd03,nd04,nd05,nd06,nd07,nd08,nd09,nd10,nd11,nd12,nd13,nd14,nd15,nd16]
361 364 lst_s_up=[su01,su02,su03,su04,su05,su06,su07,su08,su09,su10,su11,su12,su13,su14,su15,su16]
362 365 lst_s_dw=[sd01,sd02,sd03,sd04,sd05,sd06,sd07,sd08,sd09,sd10,sd11,sd12,sd13,sd14,sd15,sd16]
363 366 lst_w_up=[wu01,wu02,wu03,wu04,wu05,wu06,wu07,wu08,wu09,wu10,wu11,wu12,wu13,wu14,wu15,wu16]
364 367 lst_w_dw=[wd01,wd02,wd03,wd04,wd05,wd06,wd07,wd08,wd09,wd10,wd11,wd12,wd13,wd14,wd15,wd16]
365 368 lst_e_up=[eu01,eu02,eu03,eu04,eu05,eu06,eu07,eu08,eu09,eu10,eu11,eu12,eu13,eu14,eu15,eu16]
366 369 lst_e_dw=[ed01,ed02,ed03,ed04,ed05,ed06,ed07,ed08,ed09,ed10,ed11,ed12,ed13,ed14,ed15,ed16]
367 370
368 371 lstup = lst_s_up + lst_w_up + lst_n_up + lst_e_up
369 372 lstdw = lst_s_dw + lst_w_dw + lst_n_up + lst_e_up
370 373
371 374 if polarizacion=='up':
372 375 return lstup
373 376 elif polarizacion=='dw':
374 377 return lstdw
375 378 fichero.close()
376 379
377 380
378 381 def CreaFormatoFinal():
379 382 ne=NumeroDeExperimentos(archivo)
380 383
381 384 #nombre01 = file1(archivo,'1')
382 385 nombre02 = file1(archivo,'2')
383 386 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
384 387 fichero.write(nombre02+'\n')
385 388 fichero.write(str(ne)+'\n')
386 389 for i in range(1,17):
387 390
388 391 if i<10:
389 392 nmod = '0'+str(i)
390 393 else: nmod = str(i)
391 394
392 395
393 396 fichero.write('S'+nmod+'\n')
394 397 for j in range(1,ne+1):
395 398 ruta=CarpetaDeTrabajo+str(j)+'.txt'
396 399 lu=CapturaValoresEnArchivo(ruta,polarizacion='up')
397 400 ld=CapturaValoresEnArchivo(ruta,polarizacion='dw')
398 401 part1=''
399 402 part2=''
400 403 if lu[i-1]=='1.0': part1='000'
401 404 if lu[i-1]=='2.0': part1='001'
402 405 if lu[i-1]=='3.0': part1='010'
403 406 if lu[i-1]=='0.0': part1='011'
404 407 if lu[i-1]=='0.5': part1='100'
405 408 if lu[i-1]=='1.5': part1='101'
406 409 if lu[i-1]=='2.5': part1='110'
407 410 if lu[i-1]=='3.5': part1='111'
408 411 if ld[i-1]=='1.0': part2='000'
409 412 if ld[i-1]=='2.0': part2='001'
410 413 if ld[i-1]=='3.0': part2='010'
411 414 if ld[i-1]=='0.0': part2='011'
412 415 if ld[i-1]=='0.5': part2='100'
413 416 if ld[i-1]=='1.5': part2='101'
414 417 if ld[i-1]=='2.5': part2='110'
415 418 if ld[i-1]=='3.5': part2='111'
416 419 fichero.write(part1+part2+'\n')
417 420 fichero.write('------'+'\n')
418 421 fichero.close()
419 422
420 423 def CreaFormatoFinal2():
421 424 ne=NumeroDeExperimentos(archivo)
422 425
423 426 #nombre01 = file1(archivo,'1')
424 427 nombre02 = file1(archivo,'2')
425 428 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
426 429 fichero.write(nombre02+'\n')
427 430 fichero.write(str(ne)+'\n')
428 431
429 432 for i in range(1,65):
430 433
431 434 if i<10:
432 435 nmod = '0'+str(i)
433 436 else: nmod = str(i)
434 437
435 438 fichero.write("ABS_" + nmod+'\n')
436 439
437 440 for j in range(1,ne+1):
438 441 ruta=CarpetaDeTrabajo+str(j)+'.txt'
439 442 lu=CapturaValoresEnArchivo2(ruta,polarizacion='up')
440 443 ld=CapturaValoresEnArchivo2(ruta,polarizacion='dw')
441 444 part1=''
442 445 part2=''
443 446 if lu[i-1]=='1.0': part1='000'
444 447 if lu[i-1]=='2.0': part1='001'
445 448 if lu[i-1]=='3.0': part1='010'
446 449 if lu[i-1]=='0.0': part1='011'
447 450 if lu[i-1]=='0.5': part1='100'
448 451 if lu[i-1]=='1.5': part1='101'
449 452 if lu[i-1]=='2.5': part1='110'
450 453 if lu[i-1]=='3.5': part1='111'
451 454 if ld[i-1]=='1.0': part2='000'
452 455 if ld[i-1]=='2.0': part2='001'
453 456 if ld[i-1]=='3.0': part2='010'
454 457 if ld[i-1]=='0.0': part2='011'
455 458 if ld[i-1]=='0.5': part2='100'
456 459 if ld[i-1]=='1.5': part2='101'
457 460 if ld[i-1]=='2.5': part2='110'
458 461 if ld[i-1]=='3.5': part2='111'
459 462 fichero.write(part1+part2+'\n')
460 463 fichero.write('------'+'\n')
461 464 fichero.close()
462 465
463 466 def EliminaArchivosEnLaCarpeta():
464 467 ne=NumeroDeExperimentos(archivo)
465 468 for i in range(1,ne+1):
466 469 os.remove(CarpetaDeTrabajo+str(i)+'.txt')
467 470
468 471 CreaFicherosPrevios()
469 472 CreaFormatoFinal2()
470 473 EliminaArchivosEnLaCarpeta()
471 474
472 475 ##########
473 476
474 477 if __name__ == '__main__':
475 478
476 479 filename = "experimento1.abs"
477 480
478 481 absObj = ABSClient()
479 482 absObj.sendFile(filename)
480 483 # absObj.changeBeam("0")
481 484 # absObj.changeBeam("1")
482 485 # absObj.changeBeam("2")
483 486 # absObj.changeBeam("3")
484 487 # absObj.changeBeam("4")
485 488 # absObj.changeBeam("5")
486 489 # absObj.changeBeam("6")
487 490 # absObj.changeBeam("7")
488 491 # absObj.getStatus(5) No newline at end of file
@@ -1,182 +1,189
1 1 #import tftpy
2 2 import socket
3 3
4 4 class UDPComm:
5 5
6 6 __HEADER = "ABS"
7 7
8 8 def __init__(self, ipSource, ipDestino, portDestino, asServer=False):
9 9
10 10 self.ipSource = ipSource
11 11 self.ipDestino = ipDestino
12 12 self.portDestino = portDestino
13 13 self.addr = (ipDestino,portDestino)
14 14 self.answer = "none" #test
15 15 self.mode = "none"
16 16
17 17 self.openSocket(asServer)
18 18
19 19 def openSocket(self, asServer):
20 20
21 21 #self.socket_c = socket.socket(AF_INET,SOCK_DGRAM)
22 22 self.socket_c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM,0)
23 23 # self.socket_c.connect((self.ipDestino, self.portDestino))
24 24
25 25 if asServer:
26 26 self.configAsServer()
27 27 self.mode = "server"
28 28 else:
29 29 self.configAsClient()
30 30 self.mode = "client"
31 31
32 32 def configAsClient(self):
33 33 #Configurar broadcast
34 34 self.socket_c.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
35 35
36 36 def configAsServer(self):
37 37
38 38 self.socket_c.bind(self.addr)
39 39 print "\nServer initialized"
40 40
41 41 def waitData(self, nbytes = 16384):
42 42
43 43 print "\nWaiting some data"
44 44 trama_rx, self.answer = self.socket_c.recvfrom(nbytes)
45 45 print "\nThis socket has received some data from:"
46 46 print self.answer
47 47 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx)
48 48
49 49 return ipSource, ipDestino, cmd, data
50 50
51 51 def sendData(self, cmd, data):
52 52
53 53 if self.portDestino == 7000:
54 54 trama_tx = self.__HEADER + ":" + str(self.ipSource) + ":" + str(self.ipDestino) + ":" + str(cmd) + ":" + str(data) + ":"
55 55 else:
56 56 trama_tx = data
57 57
58 58 if self.mode == "client":
59 59 destiny = self.addr
60 60 else:
61 61 destiny = self.answer
62 62 # Send messages
63 63 if(self.socket_c.sendto(trama_tx, destiny)):
64 64 print "Sending message:[" + trama_tx + "] to " + str(destiny)
65 65
66 66 def __getTrama(self, trama):
67 67
68 68 FrameList = trama.split(':')
69 69
70 70 header = FrameList[0]
71 71 ipSource = FrameList[1]
72 72 ipDestino = FrameList[2]
73 73 cmd = FrameList[3]
74 74 data = FrameList[4]
75 75 trash = FrameList[5]
76 76
77 77 return ipSource, ipDestino, cmd, data
78 78
79 79 class TCPComm:
80 80
81 81 __HEADER = "ABS"
82 82
83 83 def __init__(self, ipSource, ipDestino, portDestino, asServer=False):
84 84
85 85 self.ipSource = ipSource
86 86 self.ipDestino = ipDestino
87 87 self.portDestino = portDestino
88 88 self.addr = (ipDestino,portDestino)
89 self.addr2 = ("none",0)
89
90 self.sc = "none"
90 91 self.answer = "none" #test
91 92 self.mode = "none"
92 93
93 94 self.openSocket(asServer)
94 95
95 96 def openSocket(self, asServer):
96 97
97 98 #self.socket_c = socket.socket(AF_INET,SOCK_DGRAM)
98 99 self.socket_c = socket.socket()
99 100 # self.socket_c.connect((self.ipDestino, self.portDestino))
100 101
101 102 if asServer:
102 103 self.configAsServer()
103 104 self.mode = "server"
104 105 else:
105 106 self.configAsClient()
106 107 self.mode = "client"
107 108
108 109 def configAsClient(self):
109 110 #Buscar broadcast TCP
110 111 # self.socket_c.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
111 112 self.socket_c.connect(self.addr)
112 113
113 114 def configAsServer(self):
114 115
115 116 self.socket_c.bind(self.addr)
116 117 self.socket_c.listen(1)
117 self.addr2 = self.socket_c.accept()
118 sc, addr = self.socket_c.accept()
119 self.sc = sc
120 self.answer = addr
118 121 print "\nServer initialized"
119 122
120 123 def waitData(self, nbytes = 16384):
121 124
122 125 print "\nWaiting some data"
123 126 if self.mode == "client":
124 trama_rx, self.answer = self.socket_c.recv(nbytes)
127 trama_rx = self.socket_c.recv(nbytes)
125 128 else:
126 trama_rx, self.answer = self.addr2[0].recv(nbytes)
129 trama_rx = self.sc.recv(nbytes)
127 130
128 131 print "\nThis socket has received some data from:"
129 132 print self.answer
130 133
131 134 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx)
132 135
133 136 return ipSource, ipDestino, cmd, data
134 137
135 138 def sendData(self, cmd, data):
136 139
137 140 if self.portDestino == 7000:
138 141 trama_tx = self.__HEADER + ":" + str(self.ipSource) + ":" + str(self.ipDestino) + ":" + str(cmd) + ":" + str(data) + ":"
139 142 else:
140 143 trama_tx = data
141 144 # Send messages
142 145 if self.mode == "client":
143 146 self.socket_c.send(trama_tx)
144 147 else:
145 148 self.addr2[0].send(trama_tx)
146 149 print "Sending message:[" + trama_tx + "]"
147 150
148 151 def __getTrama(self, trama):
149 152
150 153 FrameList = trama.split(':')
151 154
152 155 header = FrameList[0]
153 156 ipSource = FrameList[1]
154 157 ipDestino = FrameList[2]
155 158 cmd = FrameList[3]
156 159 data = FrameList[4]
157 160 trash = FrameList[5]
158 161
159 162 return ipSource, ipDestino, cmd, data
160 163
164 def close_socket():
165 self.socket_c.close()
166
167
161 168 #class FTPComm:
162 169 #
163 170 # ftp_servidor = 'ftp.servidor.com'
164 171 # ftp_usuario = 'miusuario'
165 172 # ftp_clave = 'miclave'
166 173 # ftp_raiz = '/public_html'
167 174 #
168 175 # def __init__(self):
169 176 #
170 177 # self.client = tftpy.TftpClient(self.ftp_servidor, '69')
171 178 #
172 179 #
173 180 # def sendFile(self, filename):
174 181 #
175 182 # self.client.upload(filename)
176 183 #
177 184 #if __name__ == '__main__':
178 185 #
179 186 # obj = FTPComm()
180 187
181 188
182 189 No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now