python socket簡單的c/s示例

客戶端和服務端其實是對等的。只不過服務端是bind一個地址,客服端是connect一個地址。另外服務端需要調用listen()函數使得服務端可以接受連接請求。sendsendall,recv等等是兩邊都可以用的。下面是示例。
server.py

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(),1234))
s.listen(5)
while True:
    socketClient, address = s.accept()
    print(f"connection of {address} is established!")
    data = socketClient.recv(1024)
    data = data.decode("utf-8")
    socketClient.send(bytes(f"Hi {data}, Welcome to server!","utf-8"))
    socketClient.close

client.py

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((socket.gethostname(), 1234))
s.sendall(bytes("raines","utf-8"))
full_msg = ""
while True:
    st = s.recv(8)
    if len(st) <= 0:
        break
    st = st.decode("utf-8")
    full_msg += st
print(full_msg)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章