这篇文章主要介绍了python怎么使用socket先读取长度,在读取报文内容,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联建站坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10年网站建设经验创新互联建站是成都老牌网站营销服务商,为您提供网站设计制作、网站设计、网站设计、HTML5建站、网站制作、高端网站设计、小程序制作服务,给众多知名企业提供过好品质的建站服务。本文实例讲述了python使用socket 先读取长度,在读取报文内容。分享给大家供大家参考,具体如下:
tlpmts1:~/sbin # cat test9105.py
# -*- coding: utf-8 -*- import SocketServer import socket import time import sys reload(sys) print time.ctime() sys.setdefaultencoding('utf-8') class SMSsendx (object): def Sms(self): #.decode('utf-8').encode('gbk') host='10.4.160.71' port = 9105 print 'host'+'->'+host print 'port'+'->'+str(port) bufsize=10240 addr=(host,port) s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.settimeout(20) s.connect((host,port)) data='' # data='' # length = len(data.encode('utf-8')) # slen = '%08d' % length # data=slen + data # data='000314 007144 100443923 330600600 20170920 101020 A01 301020 10102020170926010000550744 10.4.129.21 17 01003000003 101020 0 0 10102020170926010000550744 9999 14 0000000000 10000000000000000000 0 33010000201000000459 0 1 14 1 0110111100 ' data=' 21801020180528010000218475 L06 2018052810241220 ES999 APP ZXGY 999999999 218010 ' length = len(data.encode('utf-8')) slen = '%08d' % length data=slen + data print data recv_size = 0 #msg = data.encode('gbk') s.send(data) data = s.recv(bufsize) # print data.strip() length=data print int(length) resp = s.recv(int(length)); cur_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print ("%s receice from server :%s") % (cur_time,data + resp) a=SMSsendx() a.Sms() print time.ctime() 004355 173906133 330100921 ES999 9999 20190528 202020 M01 50010120190528010000002780 201010 20202020190528878173906123 0001 27 202020 01003000003 20202020190424878173906123
tlpmts1:~/sbin # python test9105.py
Thu Jul 4 16:06:43 2019
host->10.4.160.71
port->9105
00000754004355 173906133 330100921 ES999 9999 20190528 202020 M01 50010120190528010000002780 201010 20202020190528878173906123 0001 27 202020 01003000003 20202020190424878173906123
539
2019-07-04 16:06:43 receice from server :000005390000 交易成功 20190528 173906133 01003000003 27 20202020190528878173906123 201010 202020 20202020190424878173906123
Thu Jul 4 16:06:43 2019
感谢你能够认真阅读完这篇文章,希望小编分享的“python怎么使用socket先读取长度,在读取报文内容”这篇文章对大家有帮助,同时也希望大家多多支持创新互联成都网站设计公司,关注创新互联成都网站设计公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:python怎么使用socket先读取长度,在读取报文内容-创新互联
当前路径:http://lswzjz.com/article/djggjs.html