曲则全,枉则直,洼则盈,敝则新,少则得,多则惑。
是以圣人抱一为天下式。不自见,故明;不自是,故彰;不自伐,故有功;不自矜,故长。
用Python发送socket消息
上一篇 /
下一篇 2010-01-24 20:05:25
/ 个人分类:脚本语言
开始整理一下简单的Python脚本,嗯嗯。
我们的系统是C/S架构,客户端是用Delphi开发的。
有一天,在客户端上操作“删除”时,反应比较慢,想知道是那个环节有问题,于是用Python写了一个发送消息的小程序,就是模拟客户端一发一收,再计算一下时间。如果这个时间比较快,那有可能是客户端软件处理消息有问题。
代码如下:
import socketfrom timeit import Timer
HOST = '192.168.1.122' # The remote hostPORT = 9898 # The same port as used by the serverADDR=(HOST,PORT)def myxmlTest(): tcpClient = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcpClient.connect(ADDR) f=open("f:/xmlTest.txt",'r') #将发送"删除"的xml放在了硬盘文件里 a=f.readline() MyMessage=bytes(a,encoding='utf8') #print(MyMessage) tcpClient.send(MyMessage) data = tcpClient.recv(1024) #接收到的消息 f.close() tcpClient.close() print('Received', repr(data)) def main(): _executecount=1 #执行次数 myTime=Timer("myxmlTest()","from __main__ import myxmlTest") x=myTime.timeit(_executecount) #执行xxx次的时间 print("the time is ",x/float(_executecount)) if __name__=='__main__': main()
其中_executecount是执行的次数,就是发送“删除”消息的次数,再用总时间除一下,就是平均的时间。
最后得出结论,从客户端直接发消息到客户端从服务端接收返回的时间,是很快的,问题可能出在客户端上面。
收藏
举报
TAG: