【socket網絡編程】(二)client和server實現通信

在這裏插入圖片描述

  • server端編程:
    隨時都要處於監聽的狀態和服務的狀態

    每個應用程序佔用一個端口

依程序代碼爲例,按以上步驟來進行通信:

#client端:
import socket
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#指明 IPv4 、協議tcp
client.connect(('127.0.0.1', 8000))#client端明確指明IP地址
while True:
    re_data = input()
    client.send(re_data.encode("utf8"))
    data = client.recv(1024)
    print(data.decode("utf8"))

#server端:
import socket

server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#指明 IPv4 、協議tcp
server.bind(('0.0.0.0', 8000))#通過IP也可以訪問,寫成127.0.0.1則通過本機局域網的ip則訪問不到,默認端口8000
server.listen()#監聽
sock, addr = server.accept()#一旦接收到用戶的連接請求後就返回一個sock和address

#獲取從客戶端發送的數據
#一次獲取1k的數據
while True:
    data = sock.recv(1024)#獲取數據
    print(data.decode("utf8"))#轉換成utf8字符串格式
    re_data = input()#控制檯輸入,返回爲 string 類型
    sock.send(re_data.encode("utf8"))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章