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()函数实现基本的文件传输服务器,并附带了使用示例。
