日韩 亚洲一区二_久久vs国产综合色大全_国产精品福利在线_欧美在线一级A片免费观看欧美在线_女同性毛片60分钟

您現(xiàn)在所在的位置:首頁(yè) >學(xué)習(xí)資源 > Python全棧+人工智慧入門(mén)教材 > Python基礎(chǔ)入門(mén)教程30.2:企業(yè)級(jí)開(kāi)發(fā)進(jìn)階 TCP實(shí)戰

Python基礎(chǔ)入門(mén)教程30.2:企業(yè)級(jí)開(kāi)發(fā)進(jìn)階 TCP實(shí)戰

來(lái)源:奇酷教育 發(fā)表於:

1 簡(jiǎn)易對(duì)講程序的需求對(duì)講機(jī)程序,就是雙方互相通話(huà)的過(guò)程,簡(jiǎn)單一點(diǎn)的邏輯就是雙方每次只能說(shuō)一句話(huà),然後等待對(duì)方回答之後繼續(xù)說(shuō)話(huà)。2

1. 簡(jiǎn)易對(duì)講程序的需求

對(duì)講機(jī)程序,就是雙方互相通話(huà)的過(guò)程,簡(jiǎn)單一點(diǎn)的邏輯就是雙方每次只能說(shuō)一句話(huà),然後等待對(duì)方回答之後繼續(xù)說(shuō)話(huà)。

2. 編程實(shí)現(xiàn)服務(wù)端


import socket



# 創(chuàng)建服務(wù)端套接字對(duì)象

service = socket.socket(socket.AF_INET, socket.SOCK_STREAM)



# 綁定主機(jī)和埠號(hào)

service.bind(("", 8888))



# 啟動(dòng)監(jiān)聽

service.listen(1)



# 接收客戶(hù)端連接

print("服務(wù)端程序啟動(dòng)成功,等待客戶(hù)端接入.....")

conn, addr = service.accept()

print("客戶(hù)端已經(jīng)接入,可以進(jìn)行通信" + str(addr) + ";等待客戶(hù)端發(fā)送消息...")



# 發(fā)送歡迎消息

conn.sendall("天王蓋地虎,寶塔鎮河妖".encode("utf-8"))



# 循環(huán)讀取消息

while True:

    # 接收並列印客戶(hù)端發(fā)送消息

    msg = conn.recv(1024)

    msg = msg.decode("utf-8")

    print("客戶(hù)端:" + msg)

    # 如果客戶(hù)端發(fā)送bye字符串,跳出循環(huán)

    if msg == "bye":

        service.sendall("over!")

        break;

    # 向客戶(hù)端發(fā)送消息

    info = input("請輸(shū)入要發(fā)送給客戶(hù)端的消息:")

    info = info.encode("utf-8")

    conn.sendall(info)

# 關(guān)閉該客戶(hù)端的連接

conn.close()

3. 編程實(shí)現(xiàn)客戶(hù)端


import socket



# 創(chuàng)建客戶(hù)端套接字對(duì)象

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)



# 連接伺服器

client.connect(("192.168.10.115", 8888))



# 循環(huán)處理髮送消息

while True:

    # 接收伺服器的消息

    msg = client.recv(1024)

    msg = msg.decode("utf-8")

    print("伺服器:" + msg)

    # 如果一旦接收到over!字符串,跳出循環(huán)

    if msg=="over!":

        print("程序退出")

        break;

    # 給伺服器發(fā)送消息

    info = input("請輸(shū)入要發(fā)送的消息:")

    info = info.encode("utf-8")

    client.sendall(info)

#關(guān)閉客戶(hù)端套接字對(duì)象

client.close()

4. 測(cè)試程序

首先運(yùn)行服務(wù)端程序


服務(wù)端程序等待中

運(yùn)行客戶(hù)端程序


客戶(hù)端程序啟動(dòng)

開(kāi)始互相發(fā)送消息
服務(wù)端


服務(wù)端控制臺(tái)界面

客戶(hù)端


客戶(hù)端控制臺(tái)界面

整體效果如上所述,對(duì)於TCP網(wǎng)絡(luò)編程的部分內(nèi)容都有涉及,大家在獨(dú)立完成的基礎(chǔ)上,可以思考一個(gè)問(wèn)題:怎麼退出對(duì)話(huà)?!

>>>更多VR/AR入門(mén)教程:VR入門(mén)