溫馨提示×

python socket客戶端接收數(shù)據(jù)的方法是什么

小億
208
2023-09-07 22:38:34
欄目: 編程語言

Python Socket客戶端接收數(shù)據(jù)的方法有兩種:

  1. 使用recv()方法:可以使用Socket對象的recv()方法來接收數(shù)據(jù)。該方法有一個參數(shù)表示要接收的數(shù)據(jù)的最大長度。該方法會一直阻塞,直到接收到指定長度的數(shù)據(jù)或者連接關(guān)閉。接收到的數(shù)據(jù)以字符串形式返回。

示例代碼:

import socket
# 創(chuàng)建Socket對象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 連接服務(wù)器
server_address = ('127.0.0.1', 8888)
client_socket.connect(server_address)
# 接收數(shù)據(jù)
data = client_socket.recv(1024)
print(data.decode())
# 關(guān)閉Socket連接
client_socket.close()
  1. 使用recvfrom()方法:如果是使用UDP協(xié)議進行通信,可以使用Socket對象的recvfrom()方法來接收數(shù)據(jù)。該方法與recv()方法類似,但返回的是一個元組,包含接收到的數(shù)據(jù)和發(fā)送方的地址。

示例代碼:

import socket
# 創(chuàng)建Socket對象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 綁定本地地址和端口
client_address = ('127.0.0.1', 8888)
client_socket.bind(client_address)
# 接收數(shù)據(jù)
data, server_address = client_socket.recvfrom(1024)
print('接收到來自{}的數(shù)據(jù):{}'.format(server_address, data.decode()))
# 關(guān)閉Socket連接
client_socket.close()

注意:以上示例代碼中的服務(wù)器地址和端口需要根據(jù)實際情況進行修改。

0