久久人人精品,亚洲少妇一区,欧美黄色免费网站,樱桃成人精品视频在线播放

您現在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程30.2:企業級開發進階 TCP實戰

Python基礎入門教程30.2:企業級開發進階 TCP實戰

來源:奇酷教育 發表于:

1 簡易對講程序的需求對講機程序,就是雙方互相通話的過程,簡單一點的邏輯就是雙方每次只能說一句話,然后等待對方回答之后繼續說話。2

1. 簡易對講程序的需求

對講機程序,就是雙方互相通話的過程,簡單一點的邏輯就是雙方每次只能說一句話,然后等待對方回答之后繼續說話。

2. 編程實現服務端

import socket

# 創建服務端套接字對象
service = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 綁定主機和端口號
service.bind(("", 8888))

# 啟動監聽
service.listen(1)

# 接收客戶端連接
print("服務端程序啟動成功,等待客戶端接入.....")
conn, addr = service.accept()
print("客戶端已經接入,可以進行通信" + str(addr) + ";等待客戶端發送消息...")

# 發送歡迎消息
conn.sendall("天王蓋地虎,寶塔鎮河妖".encode("utf-8"))

# 循環讀取消息
while True:
    # 接收并打印客戶端發送消息
    msg = conn.recv(1024)
    msg = msg.decode("utf-8")
    print("客戶端:" + msg)
    # 如果客戶端發送bye字符串,跳出循環
    if msg == "bye":
        service.sendall("over!")
        break;
    # 向客戶端發送消息
    info = input("請輸入要發送給客戶端的消息:")
    info = info.encode("utf-8")
    conn.sendall(info)
# 關閉該客戶端的連接
conn.close()

3. 編程實現客戶端

import socket

# 創建客戶端套接字對象
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 連接服務器
client.connect(("192.168.10.115", 8888))

# 循環處理發送消息
while True:
    # 接收服務器的消息
    msg = client.recv(1024)
    msg = msg.decode("utf-8")
    print("服務器:" + msg)
    # 如果一旦接收到over!字符串,跳出循環
    if msg=="over!":
        print("程序退出")
        break;
    # 給服務器發送消息
    info = input("請輸入要發送的消息:")
    info = info.encode("utf-8")
    client.sendall(info)
#關閉客戶端套接字對象
client.close()

4. 測試程序

首先運行服務端程序


服務端程序等待中

運行客戶端程序


客戶端程序啟動

開始互相發送消息
服務端


服務端控制臺界面

客戶端


客戶端控制臺界面

整體效果如上所述,對于TCP網絡編程的部分內容都有涉及,大家在獨立完成的基礎上,可以思考一個問題:怎么退出對話?!

>>>更多VR/AR入門教程:VR入門

 
主站蜘蛛池模板: 奉新县| 永定县| 周口市| 平江县| 岑溪市| 迭部县| 邳州市| 陇川县| 纳雍县| 苗栗市| 崇礼县| 德钦县| 蓬安县| 武陟县| 临桂县| 石台县| 桃园市| 涡阳县| 洛川县| 渭源县| 东阿县| 资阳市| 大埔区| 龙海市| 象州县| 津南区| 罗山县| 广州市| 宣武区| 海宁市| 台江县| 陵川县| 芜湖县| 吉首市| 云浮市| 舞阳县| 连南| 罗城| 增城市| 麦盖提县| 南木林县|