分享

Python中socket和多线程的应用

 看风景D人 2014-01-07
这是我以前写的一个socket小应用,其中也顺便用到了一点点多线程的东西。
这个socket客户端是我为了方便公司的充值系统调试而写的一个小应用。由它跟充值系统进行socket通讯,自动完成充值的测试工作。
看代码吧:
import socket,thread

def Communicate(s):
    phoneno = raw_input("Please input your PhoneNo.:(Push Enter to use default)")   #Get local phoneno
    if (len(phoneno)) == 0:
        phoneno= '123456'
    phoneno="phone:"+phoneno    #Add a prefix of phoneno
    s.send(phoneno) #Send data string to server
    print '>> %s'%phoneno
    data = s.recv(4096) #Get response data from server
    print '<< %s'%data     #0819022324
    process_string='*571253*0861235468*1*2617*3#'
    s.send(process_string)
    print '>> %s'%process_string
    print '<< %s'%s.recv(4096)
    s.send('6506')
    print '>> %s'%'6506'
    print '<< %s'%s.recv(4096)
    s.close()   #Disconnect the socket connection
    print 'End!'    #End the program
    
def Refill():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)   #Create a socket
    try:
        #s.connect((socket.gethostname(),  8888))    #Connect to target server
        s.connect(('192.168.4.129',  8888))    #Connect to target server
    except:
        print "Connect to '%s' failed!"%(socket.gethostname())
    else:
        #Communicate(s)
        thread.start_new_thread(Communicate,(s,))   #Socket communicate on a new thread. 

print "-----------------------------------------------------------"
print "Welcom to use Python Socket Tools.SocketTest.py/nThis program is designed to test FRS4 socket communicate test/n----Powered by Lucker."
if(__name__=='__main__'):
    Refill()



 
《完》

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多