欢迎访问宙启技术站
智能推送

使用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()函数进行处理,并将处理后的结果发送给客户端。

在以上示例中,客户端连接的服务器地址和端口为localhost9999。服务器首先监听该端口,然后等待客户端连接。客户端成功连接后,向服务器发送数据,并等待服务器的响应。服务器接收到数据后,将其转换为大写,然后将结果发送给客户端。客户端接收到服务器的响应后打印出来。

你可以先运行服务器程序,然后再运行客户端程序,从而实现两台计算机之间的数据传输。当然,你也可以在同一台计算机上运行客户端和服务器程序,此时可以使用localhost作为服务器地址。