使用Python的Connection()函数实现数据传输
发布时间:2023-12-19 06:39:42
在Python中,可以使用Connection()函数来实现数据传输。Connection()函数是socket库中的一部分,用于建立网络连接并进行数据的发送和接收。下面是一个使用Connection()函数实现数据传输的示例:
import socket
def send_data(data):
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
server_address = ('localhost', 9999) # 服务器地址和端口
s.connect(server_address)
try:
# 发送数据
s.sendall(data.encode())
# 接收服务器的响应
response = s.recv(1024).decode()
print(f"Server response: {response}")
finally:
# 关闭连接
s.close()
def receive_data():
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 监听端口
server_address = ('localhost', 9999)
s.bind(server_address)
s.listen(1)
while True:
print('Waiting for connection...')
conn, addr = s.accept()
print(f"Connected by {addr}")
try:
# 接收数据
data = conn.recv(1024).decode()
# 处理数据
processed_data = data.upper()
# 发送响应
conn.sendall(processed_data.encode())
finally:
# 关闭连接
conn.close()
# 在主函数中进行数据传输
if __name__ == '__main__':
send_data("Hello, server!")
receive_data()
以上代码实现了一个基本的客户端-服务器数据传输过程。客户端使用send_data()函数向服务器发送数据,服务器接收到数据后通过receive_data()函数进行处理,并将处理后的结果发送给客户端。
在以上示例中,客户端连接的服务器地址和端口为localhost和9999。服务器首先监听该端口,然后等待客户端连接。客户端成功连接后,向服务器发送数据,并等待服务器的响应。服务器接收到数据后,将其转换为大写,然后将结果发送给客户端。客户端接收到服务器的响应后打印出来。
你可以先运行服务器程序,然后再运行客户端程序,从而实现两台计算机之间的数据传输。当然,你也可以在同一台计算机上运行客户端和服务器程序,此时可以使用localhost作为服务器地址。
