python學習筆記——Socket

Socket 套接字

用於描述ip地址和端口,是一個通信鏈的句柄,應用程序通常通過“套接字”向網絡發出請求或者應答網絡請求。

socket模塊是針對服務器端和客戶端Socket進行【打開】【讀寫】【關閉】



最簡單的代碼範例:

服務器端:

import socket
#服務器端
ip_port = ('127.0.0.1',9999)#聲明IP地址端口
sk = socket.socket()#生成socket句柄
sk.bind(ip_port)#綁定IP端口,以元組傳入
sk.listen(5)#監聽,最大允許連接5個

while True:
    print('sever waiting...')
    conn,addr = sk.accept() #服務器端會把客戶端發過來的IP地址和端口生成一個實例(阻塞)。這個實例只爲這個客戶端服務。返回兩個值
    #返回兩個值,conn是爲客戶端生成的實例,只爲這個客戶端服務 addr是客戶端地址。

    client_data = conn.recv(1024)#通過調用這個實例recv數據.參數是每次收取的數據大小
    print(client_data)
    conn.sendall('發回一句話') #這個時候客戶端也要recv收取

    conn.close()
客戶端:

import socket
#客戶端
ip_port = ('127.0.0.1',9999)

sk = socket.socket() #生成一個socket句柄
sk.connect(ip_port) #連接ip和端口

sk.sendall(bytes('發過去一句話','utf8'))  #3.o後要發比特數據和編碼

server_reply = sk.recv(1024) #接收到服務端發來那句話
print(str(server_reply,'utf8'))

sk.close()
服務端在每完成一個鏈接後進入等待,客戶端每完成一次鏈接後會關閉



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章