透過Python指令碼理解系統程式

mug發表於2021-09-09


from socket import *

from time import ctime

import os,sys #sys定義了程式退出的方法

HOST='localhost'  #定義主機

PORT=21567    #定義埠號

BUFSIZ=1024 #定義緩衝區

ADDR=(HOST,PORT)  #定義元組

tcpSerSock=socket(AF_INET,SOCK_STREAM)#生成TCP Socket

tcpSerSock.bind(ADDR) #將該Socket與元組進行繫結

tcpSerSock.listen(5)  #監聽請求

while True: #定義無限迴圈(越來越像shell)

    print "waiting ...."

    try:  # 在生成程式中有銷燬tcpSerSock的字句,如果不捕獲這個異常將會導致程式錯誤!

      tcpCliSock,addr=tcpSerSock.accept()

    except: #捕獲所有異常

  sys.exit(0) #只要捕獲到阻塞失敗將退出當前程式。(只有生成的程式才會導致阻塞失敗,在生成程式中才有銷燬tcpSerSock的字句)

    if os.fork(): #如果在主程式中的操作

  pass

    else: #如果在派生程式中的操作

        print 'con from :',addr

        while True:

            data=tcpCliSock.recv(BUFSIZ)

            if not data:

    tcpSerSock.close()  #銷燬tcpSerSock

                break #跳出迴圈!

            tcpCliSock.send('[%s] %s' %(ctime(),data))

tcpSerSock.close()#這句永遠不會被執行!

©著作權歸作者所有:來自51CTO部落格作者散居江湖的原創作品,如需轉載,請註明出處,否則將追究法律責任

主機Python緩衝區


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/506/viewspace-2820321/,如需轉載,請註明出處,否則將追究法律責任。

相關文章