我正在尝试在我的家庭网络中的客户端和服务器之间发送文件。我只想用一个简单的文件 client.txt
进行测试。
客户端程序应该读取 X 字节并通过我创建的 tcp 套接字发送它,但我无法思考如何执行发送部分:
f = open("client.txt", "rb")
while 1:
// should read X bytes and send to the socket
我想我需要检查我要发送的数据是否有效,例如文件是否小于我在每批中发送的数量(例如 1024).... 或者它不起作用那样?
最佳答案
既然你提到你在设置服务器部分时遇到问题,我将从 Python 文档中删除它并稍微编辑它:
import socket
HOST = ''
PORT = 50007
s = socket.socket()
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
f = open("client.txt", "rb")
while 1:
data = f.read(1024)
if not data: break
conn.send(data)
conn.close()
可以找到相关文档here
关于python - 如何读取二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4971413/