# -*- coding: utf-8 -*- ! o3 @6 e% G3 U& E) Zimport socket 1 o1 R1 ] B7 k& Ufrom myutil import *. C+ ?9 Y! x+ b) x- o4 T. I" X1 t
from binascii import unhexlify as unhex ?7 f5 F9 p6 R4 s* p3 Z+ j3 i+ J
from ctypes import *: b6 H) n5 p; a+ n- Y' Z
dll = cdll.LoadLibrary('mydll.dll'), r0 v$ [. z! [* |8 Y
print 'begin load mydll..' * T- S: R8 T+ u3 T1 rHOST, PORT = "192.168.51.28", 5800 0 k& x7 k4 q3 A& A! l0 dsd ="1234567812345678"7 ~7 i l, u1 b( ~ v* R
# Create a socket (SOCK_STREAM means a TCP socket)9 X4 T" s, l; L
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)& j1 I( F" {' O: @+ i
try:& V+ n& z: I& W1 R
# Connect to server and send data 4 J' Q2 O1 I$ L, q& C sock.connect((HOST, int(PORT))1 x+ Q0 X% G+ @3 p( `" W+ d" C
print "Sent1 OK:" % q+ i$ t/ @) e1 a9 s print sd $ C; m4 d: B2 L8 M- i. } # Receive data from the server and shut down 2 l" p( k9 O# \/ f2 D8 |3 E* E received = sock.recv(1024) ( t7 d! ^, j( x2 g9 E print "Received:" 8 b+ H, { l0 x1 [: V print_hex(received) % Z7 S) Y7 d3 y4 S$ w* C print 'received len is 0x%02x' %(len(received))& g i# @" v) r/ V4 s: A+ N
print 'received data analysis...'* V/ `" X; | X |1 B
re1=received[0:4] 6 s' [0 F: T7 r/ ~ print_hex(re1)' [! Z) [* j# \" }5 ~3 c
re1=received[4:6] 1 Q# E& a4 |# X) H print_hex(re1) + x' J" O7 @# @0 V' e( I" Z# L re1=received[6:10]5 H( P- k' G! |8 M) ?
print_hex(re1)" H! m) C7 a3 M" s- t
re1=received[10:16] / e, r& ]/ ^9 L$ m print_hex(re1) 2 Z8 x- `% N Q' ]$ l1 {) g8 b9 ` K; ]' Q5 M/ @
#pack2 send( e, h; i: ^ _, C; g
sock.send(sd2.decode('hex')) 2 B" q, p- ]2 c5 A6 {! Y( C7 ~: X" v print "Sent2 OK:"5 {( {: b7 o; K/ j2 b9 c* T
print sd2 ; T; w4 ?* `# ?/ ~( M$ O. _ # Receive data from the server and shut down) }0 Q, A- X8 o# C0 I1 z" R
received1 = sock.recv(1024)4 k6 `8 `- \+ b! b5 z/ S
print "Received1:" 6 K* j9 T8 F) I print_hex(received1) # @) _/ b) \; z ^' i print 'received1 len is 0x%02x' %(len(received1))* D9 b$ F6 ~2 m- S; l! |
6 A- U7 p' u* I/ t+ X' E" Z$ rfinally:. z" k# O# F' P5 y
sock.close()3 y' Q/ g/ K" l. ?, t- c) m
. d' n' X4 F) ~' l3 T7 N
s=raw_input('press any key to continue...') * w2 k" e: M' h8 b. A3 ] , v1 q; E, x; X4 A. a: T b" U6 Q0 r; o$ o