Python核心編程(網絡編程)
阿新 • • 發佈:2018-04-01
AD tcp 核心 VR AI list byte nec http
1、python socket模塊內置方法
2、tcp服務器偽代碼
3、tcp客戶端偽代碼
4、socket模塊屬性
5、一個簡單的tcp客戶端和服務端
服務端代碼:
# encoding:utf-8 from socket import * from time import ctime from datetime import * # 定義tcpServer監聽端口號 HOST = ‘0.0.0.0‘ PORT = 21567 ADDR = (HOST, PORT) BUFFSIZE=1024 # 初始化一個tcp socket tcpSvrSock = socket(AF_INET, SOCK_STREAM) tcpSvrSock.bind(ADDR) tcpSvrSock.listen(5) while True: print(‘[%s] wait for connection...‘%(datetime.now())) tcpClientSock, clientAddr = tcpSvrSock.accept() print(‘[%s] connect from: %s...‘%(datetime.now(),clientAddr)) while True: recieveData = tcpClientSock.recv(BUFFSIZE) if not recieveData: break print(‘[%s] 收到報文:%s‘ %(datetime.now(),recieveData.decode(‘utf-8‘))) sendData = input(‘> ‘) if not sendData: break tcpClientSock.send(bytes(sendData,‘utf-8‘)) tcpClientSock.close() tcpSvrSock.close()
客戶端代碼:
# encoding:utf-8 from socket import * from datetime import * HOST = ‘127.0.0.1‘ PORT = 21567 ADDR = (HOST, PORT) BUFFSIZE=1024 clientSocket=socket(AF_INET,SOCK_STREAM) clientSocket.connect(ADDR) while True: sendData=input(‘> ‘) if not sendData: break sendData=bytes(sendData, ‘utf-8‘) clientSocket.send(sendData) recieveData=clientSocket.recv(BUFFSIZE) if not recieveData: break print(recieveData.decode(‘utf-8‘)) clientSocket.close()
Python核心編程(網絡編程)