1. 程式人生 > >tcp客戶端socket

tcp客戶端socket

__main__ AS 重復 ont nec clas 最大的 編碼 服務

import socket

# 和udp的區別顯而易見,udp發送和接收的是一個元祖,因為udp是不建立連接的,只有得到了對方的端口和ip才能進行溝通。
# 而tcp不是,tcp發送和接受的是一個字符串,因為在進行通信前必須先建立好連接確定好了ip以及端口,
# 所以不用在接受和發送的時候去特地的發送或者接受端口號和ip地址。
# 總結來說TCP有以下幾點:
#     面向連接(確認有創建三方交握,連接已創建才作傳輸。)
#     有序數據傳輸
#     重發丟失的數據包
#     舍棄重復的數據包
#     無差錯的數據傳輸
#     阻塞/流量控制


if __name__ == ‘__main__‘:
    # 創建tcp客戶端socket
    # 1. AF_INET:表示ipv4的地址類型
    # 2. SOCK_STREAM: 表示使用tcp的傳輸協議
    tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 和服務端socket建立連接
    tcp_client_socket.connect(("192.168.131.106", 7878))
    # 準備發送的數據
    send_content = "哈哈,我使用tcp發送數據啦~"
    # 對數據進行gbk的編碼
    send_data = send_content.encode("gbk")
    # 發送數據
    tcp_client_socket.send(send_data)
    # 接收數據, 1024:表示每次接收最大的字節數
    recv_data = tcp_client_socket.recv(1024)
    # 解碼數據
    recv_content = recv_data.decode("gbk")
    print(recv_content)     # 這裏是服務端。。。
    # 關閉socket
    tcp_client_socket.close()

  

tcp客戶端socket