1. 程式人生 > >python---》客戶端與服務端的基礎(做一個簡單的客戶端與服務端)

python---》客戶端與服務端的基礎(做一個簡單的客戶端與服務端)

python

今天我們分享的內容是python簡單的客戶端與服務端,此處僅介紹一些簡單的函數,並作出來一個玩兒玩兒。

在開始之前呢,先用一張圖表示他們之間的關系

技術分享

我們來按照這個步伐依次介紹:

服務端:

import socket
server=socket.socket()#此處是為了創建出來一個服務端,第一步
server.bind((‘localhost‘,9999))#將套接字綁定到地址,loclhost是當地地址的的意思,如果要想查看當地地址的話,打開控制臺(運行--》cmd) 按ipconfig即可查到
server.listen(5) #進行監聽
count=0#設置消息的接受個數
while True: # 為什麽需要加個循環呢,嘿嘿,一個服務端總不能只接受一個客戶端吧。
conn, addr = server.accept() # conn連接的標記位,addr連接的地址,或者用另一種說法:接受連接並返回(conn,address),其中conn是新的套接字對象,可以用來接收和發送數據。address是連接客戶端的地址
print("new conn ",addr)#打印對方地址
#接下來再來一個while True,用來不斷接受一個客戶端發來的消息
while True:
data=conn.recv(1024)#開始接受新消息,1024指接收消息的大小
if not data:#沒有數據
print("客戶端斷開啦")
break
print("執行命令",data.decode())#對發過來進行打印
conn.send(data.upper())
count += 1
if count > 10: break

server.close()#對服務端進行關閉





#客戶端

import socket
client=socket.socket()
client.connect((‘localhost‘,9999))#進行連接
#不斷發送消息
while True:
cmd=input(">>:").strip()#此函數可以用來發送信息,
client.send(cmd.encode("utf-8"))#服務器與客戶端之間的連接需要用到utf-8進行編碼
cmd_receive=client.recv(1024)
print("recv:", cmd_receive)

client.close()#對客戶端進行關閉


python---》客戶端與服務端的基礎(做一個簡單的客戶端與服務端)