面试题答案
一键面试send方法作用
send
方法用于将数据发送到已连接的套接字。它从应用程序缓冲区中取出数据,并尝试将其发送到网络。如果发送成功,返回值是发送的字节数。
recv方法作用
recv
方法用于从套接字接收数据。它从网络接收数据并将其放入应用程序缓冲区。返回值是接收到的字节串。
代码示例
服务器端代码:
import socket
# 创建TCP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_socket.bind(('127.0.0.1', 12345))
# 监听连接
server_socket.listen(1)
print('等待客户端连接...')
# 接受客户端连接
conn, addr = server_socket.accept()
print(f'已连接客户端: {addr}')
# 接收数据
data = conn.recv(1024)
print(f'接收到消息: {data.decode()}')
# 关闭连接
conn.close()
server_socket.close()
客户端代码:
import socket
# 创建TCP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('127.0.0.1', 12345))
# 发送消息
message = 'Hello, Server!'
client_socket.send(message.encode())
# 关闭套接字
client_socket.close()