Python socket通信~簡單實例
阿新 • • 發佈:2018-05-09
關閉連接 imp 聲明 127.0.0.1 CP per 服務端 str data
socket編程步驟
- 服務端創建一個socket,綁定地址和端口,然後監聽端口上傳入的連接,一旦有連接進來,就通過accept函數接收傳入的連接。
- 客戶端也是創建一個socket。綁定遠程地址和端口,然後建立連接,發送數據。
family 地址簇,用與socket()函數的第一個參數。主要有以下幾個
- socket.AF_UNIX 用與單一機器下的進程通信
- socket.AF_INET 用與服務器之間相互通信,通常都用這個。
- socket.AF_INET6 支持IPv6
sockettype socket類型,用與socket()函數的第二個參數,常用的有
- socket.SOCK_STREAM 默認,用於TCP協議
- socket.SOCK_DGRAM 用於UDP協議
服務端
import socket server = socket.socket() server.bind((‘127.0.0.1‘, 6969)) server.listen() # 開始監聽 # conn就是客戶端連過來而在服務端在其生成的一個連接實例 conn, addr = server.accept() # 等待會話鏈接 # print(conn,addr) # 打印可查看到conn,addr內容 # 接收到數據 data = conn.recv(1024) # 打印接收數據 print(‘recv:‘, data) # 返回數據conn.send(data.upper())
客戶端
import socket # 聲明socket類型,同時生成socket連接對象 client = socket.socket() # 開始連接 client.connect((‘127.0.0.1‘, 6969)) # 發送消息 註意3.以上版本只可發送二進制數據 client.send(b‘test socket‘) # 接收數據 data = client.recv(1024) # 打印接收數據 print(‘recv:‘, data) # 關閉連接 client.close()
Python socket通信~簡單實例