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

Pythonserver()函数实现基本的文件传输服务器

发布时间:2023-12-28 02:21:12

PythonServer()函数实现基本的文件传输服务器,下面是实现代码和使用示例:

import socket

def PythonServer():
    # 创建socket对象
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    # 绑定IP地址和端口号
    server_socket.bind(('127.0.0.1', 8888))

    # 监听客户端连接
    server_socket.listen(5)

    print('服务器已启动,等待客户端连接...')
    
    while True:
        # 建立客户端连接
        client_socket, client_address = server_socket.accept()

        print('客户端已连接:', client_address)

        try:
            # 接收客户端发送的文件名
            file_name = client_socket.recv(1024).decode()

            print('接收到文件名:', file_name)

            # 读取文件内容
            with open(file_name, 'rb') as file:
                file_content = file.read()

            # 发送文件内容给客户端
            client_socket.sendall(file_content)

            print('文件传输完成')

        except Exception as e:
            print('文件传输失败:', str(e))

        finally:
            # 关闭客户端连接
            client_socket.close()

    # 关闭服务器连接
    server_socket.close()

使用示例:

if __name__ == '__main__':
    PythonServer()

在使用示例中,我们调用PythonServer()函数来启动文件传输服务器。服务器会在指定的IP地址和端口号上进行监听,并等待客户端连接。

当客户端连接后,会先接收客户端发送的文件名,并打印出来。然后服务器会读取该文件的内容,并发送给客户端。如果文件传输成功,服务器会打印“文件传输完成”;如果文件传输失败,服务器会打印“文件传输失败”。

需要注意的是,示例中使用了localhost(127.0.0.1)和8888端口,可以根据实际情况修改IP地址和端口号。

以上就是PythonServer()函数实现基本的文件传输服务器,并附带了使用示例。