socket的receive方法怎么使用

小億
160
2023-12-04 14:52:51

socket的receive方法可以用來(lái)從socket中接收數(shù)據(jù)。

使用方法如下:

  1. 創(chuàng)建一個(gè)socket對(duì)象,示例代碼如下:
import socket

# 創(chuàng)建TCP socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 設(shè)置socket選項(xiàng)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

# 綁定地址和端口
s.bind(('localhost', 8080))

# 監(jiān)聽(tīng)
s.listen(5)

# 接受連接
conn, addr = s.accept()
  1. 使用socket的receive方法接收數(shù)據(jù),示例代碼如下:
# 接收數(shù)據(jù)
data = conn.recv(1024)

# 處理接收到的數(shù)據(jù)
print(data.decode())

# 關(guān)閉連接
conn.close()

在上面的示例代碼中,conn是一個(gè)已經(jīng)建立好的連接,使用conn.recv()方法可以接收數(shù)據(jù)。參數(shù)1024表示一次最多接收1024字節(jié)的數(shù)據(jù),如果接收到的數(shù)據(jù)超過(guò)1024字節(jié),可以多次調(diào)用recv()方法來(lái)接收剩余的數(shù)據(jù)。

注意:在TCP連接中,接收端和發(fā)送端要使用相同的接收和發(fā)送緩沖區(qū)大小,否則可能會(huì)導(dǎo)致數(shù)據(jù)丟失或粘包問(wèn)題。

0