1. 程式人生 > >1.3用socketserver創建服務器

1.3用socketserver創建服務器

nco 返回 break 處理 hand lose rpo line ssa

socket服務器代碼

import socketserver,time

myHost = ‘‘
myPort = 50007
def now():                                                    #返回一個時間
    return time.ctime(time.time()) 

class MyClientHandler(socketserver.BaseRequestHandler):
    def handle(self):                                          #處理每一個連接的用戶
print(self.client_address,now()) #打印該用戶地址 time.sleep(5) #模擬一個運行 while True: #self.reqeust指的是用戶 data = self.request.recv(1024) # 從客戶端接受信息 if
not data: break reply = Ech0=>%s at %s%(data,now()) self.request.send(reply.encode()) #發送信息給客戶端 self.request.close() #創建線程,讓服務器一直運行下去 myaddr = (myHost,myPort) server = socketserver.ThreadingTCPServer(myaddr,MyClientHandler) server.serve_forever()

socket客戶端測試代碼

from socket import *

serverHost = localhost
serverPort = 50007

while True:
    messages = [input(輸入).encode()]             #輸入信息,並設置編碼, 可設置b‘‘或者str.encode()

    socketobj = socket(AF_INET, SOCK_STREAM)        # 創建TCP對象
    socketobj.connect((serverHost, serverPort))     # 連接端口

    for line in messages:
        socketobj.send(line)
        data = socketobj.recv(1024)                 # 從服務器接受信息
        print(Client received:, data.decode())    #打印信息,解碼打印,str.decode()

    socketobj.close()

1.3用socketserver創建服務器