1. 程式人生 > >Python核心編程(網絡編程)

Python核心編程(網絡編程)

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核心編程(網絡編程)