話不多說,直接進入正題
一:客戶端一共分為5大塊:
1.創建客戶端套接字
2.和服務端套接字建立連接
3.發送資料
4.接收發送
5.關閉客戶端套接字
二:socket類的介紹
匯入 socket 模塊
import socket
創建客戶端 socket 物件
socket.socket(AddressFamily, Type)
send(data) 表示發送資料,data是二進制資料
recv(buffersize) 表示接收資料, buffersize是每次接收資料的長度
三:程式開發
import socket
def main():
# 創建tcp客戶端套接字
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 和服務端應用程式建立連接
tcp_client_socket.connect(("192.168.28.1", 6666))
# 準備發送的資料
send_data = "你好,請問是服務器嗎!".encode("gbk")
# 發送資料
tcp_client_socket.send(send_data)
# 接收資料, 接收的資料最大位元組數是1024
recv_data = tcp_client_socket.recv(1024)
# 回傳的直接是服務端程式發送的二進制資料
print(recv_data)
# 對資料進行解碼
recv_content = recv_data.decode("gbk")
print("接收服務端的資料為:", recv_content)
# 關閉套接字
tcp_client_socket.close()
if __name__ == '__main__':
main()
*****************************************
如果看客們不太理解的話,我給大家舉個例子:
創建套接字 相當于買手機
和服務端建立連接 相當于你把電話打給誰
發送資料 相當于你打通電話想跟對方說的話
接收資料 相當于你收到了對方說的話
關閉客戶端 相當于電話打完了,掛斷電話
說到這是不是好理解些呢?
*****注意點*****
windows的編碼格式是gbk
mac os的編碼格式是utf-8
引數1: ‘AF_INET’, 表示IPv4地址型別
引數2: ‘SOCK_STREAM’, 表示TCP傳輸協議型別
********************************************************************
第一次發博客,博客還不太會用,如果大家喜歡的話,以后會不定時更新博客,
希望大佬們嘴下留情,小弟就是一小白,有什么改進的請留言;





謝謝了!




轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47043.html
標籤:網絡通信
下一篇:ubuntu下路由問題
