数学建模社区-数学中国

标题: tcp的socket连接报文测试工具 [打印本页]

作者: 2744557306    时间: 2024-3-31 17:21
标题: tcp的socket连接报文测试工具
# -*- coding: utf-8 -*-
6 ?/ Q4 E, K$ Kimport socket
" J! a. E0 }: W; t" r: ^6 P2 ]from myutil import *
8 n- C) e" p6 z" q8 Kfrom binascii import unhexlify as unhex
/ l! m: |0 W9 T: j' R, m* xfrom ctypes import *
! I/ p! v9 E) x/ Zdll = cdll.LoadLibrary('mydll.dll')
1 g, {. Y& B4 }$ \print 'begin load mydll..'6 n. @% M. Y- w0 n7 n
HOST, PORT = "192.168.51.28", 5800
9 g. c& z( g; t) nsd ="1234567812345678"
% ~' c: \8 _0 o( }1 M! J# Create a socket (SOCK_STREAM means a TCP socket)
/ E- C2 U( c+ C& G* bsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
' Q: N9 t1 j# Q2 Z3 M+ _' [/ G" Xtry:- p9 t, R: v! A. v: ^' z) b! D
    # Connect to server and send data+ x* Q5 h# U2 s' ]+ h! E
    sock.connect((HOST, int(PORT))3 n% W$ A' z9 F. C- t/ K- S, l
    print "Sent1 OK:") P% D  t* b& _4 i7 r( p
    print sd
6 L1 J- x% h: C    # Receive data from the server and shut down5 Z& s$ V$ u$ W' D7 C: H- l
    received = sock.recv(1024)  K. m% M1 p  u7 q
    print "Received:"
( f2 g4 D; D& R1 p" v    print_hex(received)
* N5 @9 E5 r2 h1 h9 m- A' Z3 ^    print  'received len is 0x%02x' %(len(received))
' `  O& H- a# z4 I8 K    print  'received data analysis...'
! S( o: p; X4 [) _6 ?' i    re1=received[0:4]/ H8 k. d7 y8 y7 ~+ h; }) Y
    print_hex(re1)0 N% @7 E5 w4 {; g
    re1=received[4:6]
6 o% l4 y2 r* v" o0 ?7 r    print_hex(re1)
8 Z! z% K4 M0 E# r    re1=received[6:10]
. a+ ^9 i! g" J! q$ L    print_hex(re1): h6 T6 y6 i* V' I9 s5 F
    re1=received[10:16]& l/ o1 Y% \# T1 L5 m( t
    print_hex(re1)& T* k& O6 G& D

3 Y8 l# D1 n' A    #pack2 send+ J$ j, G. v4 D$ i
    sock.send(sd2.decode('hex'))
" [; J* c0 f7 V5 U  ]    print "Sent2 OK:"3 R, ?0 p) d9 n3 k9 J
    print sd2* u5 R+ A5 k; U8 M/ S' t
    # Receive data from the server and shut down1 q6 D! O0 C7 L
    received1 = sock.recv(1024)
) O" _3 B8 A% f% D) T% y    print "Received1:"- \9 m+ ?9 n! L, G7 Z+ d( O" _8 g+ h
    print_hex(received1)
0 P* M0 v7 O2 j- z; a, ]    print  'received1 len is 0x%02x' %(len(received1))
+ D  l9 U) \  b
& x5 F% o" P. G2 Cfinally:
8 M4 ]. U8 j; ^/ N7 s! o0 |6 q    sock.close()" \% q4 Y5 [6 _0 L

" k$ K3 Y5 ~$ a  _5 H5 As=raw_input('press any key to continue...')
# ^* B2 V: e3 t8 \7 R; V  j
1 b- y1 _7 ]3 n( F- w( t) F; a& F3 Z1 t# P# p





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5