通过socket来将客户端文件传给服务器端

    上一篇为大家介绍了利用java程序发送post请求来传递文件流,但是却有大小限制,那么我们这次就来写一个socket,通过网络套接字来传递来往于客户端和服务器的文件。

     我想大家对于java 的socket编程不会太陌生,那我就直接切入主题,分别编写服务器和客户端代码:

     Server:

 

 

Client:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以使用socket套接字模块来实现客户端服务器传输文件,同时服务器也可以返回消息给客户端。下面是一个简单的例子: 客户端代码: ```python import socket HOST = '127.0.0.1' # 服务器IP地址 PORT = 8888 # 服务器端口号 FILE_PATH = 'test.txt' # 要发送的文件路径 # 创建一个TCP/IP套接字 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接服务器 client_socket.connect((HOST, PORT)) # 发送文件 with open(FILE_PATH, 'rb') as f: data = f.read(1024) while data: client_socket.send(data) data = f.read(1024) # 接收服务器返回的消息 msg = client_socket.recv(1024) print(msg.decode()) # 关闭客户端套接字 client_socket.close() ``` 服务器端代码: ```python import socket HOST = '127.0.0.1' # 服务器IP地址 PORT = 8888 # 服务器端口号 # 创建一个TCP/IP套接字 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定IP地址和端口号 server_socket.bind((HOST, PORT)) # 监听客户端连接 server_socket.listen(1) while True: # 等待客户端连接 print('Waiting for connection...') client_socket, client_address = server_socket.accept() print('Connected from:', client_address) # 接收客户端发送的文件 with open('recv.txt', 'wb') as f: data = client_socket.recv(1024) while data: f.write(data) data = client_socket.recv(1024) # 发送消息给客户端 msg = 'File received successfully!' client_socket.send(msg.encode()) # 关闭客户端套接字 client_socket.close() ``` 在客户端代码中,我们首先创建一个TCP/IP套接字,然后连接服务器。接着,我们打开要发送的文件,以二进制模式读取文件内容,并将其分块发送给服务器。最后,我们等待服务器返回的消息,然后关闭客户端套接字。 在服务器端代码中,我们首先创建一个TCP/IP套接字,并绑定IP地址和端口号。然后,我们通过调用listen()方法监听客户端连接。当客户端连接成功后,我们接收客户端发送的文件,并将其保存到本地文件中。接着,我们向客户端发送消息,表示文件已经接收成功。最后,我们关闭客户端套接字。 需要注意的是,以上代码只是一个简单的示例,实际应用中还需要考虑异常处理、文件大小限制、文件传输完整性验证等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值