天天看點

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()#對服務端進行關閉

#用戶端

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()#對用戶端進行關閉

      本文轉自眉間雪 51CTO部落格,原文連結:http://blog.51cto.com/13348847/1981397,如需轉載請自行聯系原作者