pyhon網路程式設計使用tcp傳送 接收資料

2021-10-01 15:12:47 字數 1733 閱讀 7318

1、建立套接字

2、繫結本地埠(客戶端也就可以不繫結,不繫結時系統隨機開啟乙個埠)

3、連線伺服器位址

4、傳送或接收伺服器資料

5、關閉套接字

tcp傳送資料例項:

import socket

# 定義伺服器連線函式

def tcpclient_to_sever(tcp_soctet):

tcp_soctet.connect((addr,addr_port))

def main():

# 建立套接字

tcp_socket = socket.socket(socket.af_inet,socket.sock_stream)

tcpclient_to_sever(tcplitsen_socket)

while true: # 迴圈傳送資料

send_data = input("請輸入要傳送的內容:")

tcp_socket.send(send_data.encode("gbk"))

if send_data == "exit":

break

# 關閉套接字

tcp_socket.close()

if __name__ == "__main__":

main()

測試:

1、建立監聽套接字

2、繫結本地埠號(必須)

3、listen開始tcp連線監聽

4、accep 被動接受tcp客戶端連線,(阻塞式)等待連線的到來,連線到來時建立於客戶端通訊的套接字

5、接收客戶端資料/傳送客戶端資料

6、關閉客戶端通訊的套接字套接字

7、關閉監聽套接字

import socket

def main():

# 建立套接字,使用ipv4 tcp連線

tcp_socket = socket.socket(socket.af_inet, socket.sock_stream)

# 繫結埠

tcp_socket.bind(("",12335))

# 偵聽客戶端連線

tcp_socket.listen(125)

# while true:

# conn是與客戶端通訊所用的套接字 addr為ip位址與埠的元組

conn,addr = tcp_socket.accept()

print(str(addr))

# 迴圈接收tcp客戶端資訊

while true:

recv_date = conn.recv(1024)

print(recv_date.decode("gbk"))

# 當recv_date中沒有資料時,代表客戶端呼叫了close方法斷開連線

if recv_date:

conn.send(b"hello")

else:

break

conn.close()

# 關閉套接字

tcp_socket.close()

if __name__ == "__main__":

main()

測試:

pyhon學習之網路程式設計

一 python中的網路程式設計。1.需要使用的模組socket socket是程序間的一種通訊方式,可以實現不同主機間的資料傳輸。python中內建有socket模組,我們需要應用該模組的socket 方法建立乙個物件。2.tcp服務端的建立 usr bin python coding utf 8...

TCP網路程式設計

基於tcp 通訊模型 由上圖可以得出tcp通訊的步驟如下 服務端 1 建立乙個socket,用函式socket 2 繫結ip位址 埠等資訊到socket上,用函式bind 3 設定允許的最大連線數,用函式listen 4 等待來著客戶端的連線請求,用函式accept 5 收發資料,用函式send 和...

網路程式設計 TCP

客戶端 1.建立客戶端的socket服務,指定目的主機和埠 2.為了傳送資料,應該獲取socket中的輸出流 3.獲取socket中的輸入流來獲取服務端的反饋資料 4.關閉資源 服務端 1.建立服務端的serversocket服務,並監聽乙個埠 2.通過accept方法 等待並獲取連線過來的客戶端s...