Python中socket和多線程的應用

這是我以前寫的一個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()



 
《完》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章