python传文件到别的机器_Python文件传输只在本地主机上工作,在两台机器之间失败...

我为文件传输编写了以下python代码。它在本地主机环境中运行良好。它在两个不同的物理机器之间发生故障。我得到了文件,但数据不完整。在向客户端发送文件大小时,将字符串转换为long时也存在无效的文本错误。我不明白为什么?在

服务器.pyfrom socket import *

import thread

import os

l = {}

def handler(clientsocket, clientaddr):

print "Accepted connection from: ", clientaddr

while 1:

data = clientsocket.recv(8192)

if not data:

break

else:

print "The following data was received - ",data

l[clientaddr] = data

print l

print "Opening file - ",data

fp = open(data,'r')

size = os.path.getsize(data)

clientsocket.send(str(size))

strng = "hi"

print size

while size > 0:

strng = fp.read(8192)

clientsocket.send (strng)

size = size - 8192

clientsocket.close()

if __name__ == "__main__":

host = 'localhost'

port = 55573

buf = 8192

addr = (host, port)

serversocket = socket(AF_INET, SOCK_STREAM)

serversocket.bind(addr)

serversocket.listen(5)

while 1:

print "Server is listening for connections\n"

clientsocket, clientaddr = serversocket.accept()

thread.start_new_thread(handler, (clientsocket, clientaddr))

serversocket.close()

客户端.py

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值