主页显示我的首页和上传应该显示的页面

在此处输入要与服务器一起存储的文件def upload():

path_name = raw_input("Enter your file directory")

open_file = open(path_name,'rb').read()

name_split = path_name.split("\\")[-1].split('.')

at = 1

s.send("SAVE-"+username+"\\"+"".join(name_split[:-1])+"."+str(at)+"."+name_split[-1]+"-")

while open_file:

current = open_file[:1024]

print current

open_file = open_file[1024:]

s.send(current)

def mainpage():

global R2

R2=Tk()

gg="white"

g="blue"

R2.geometry('720x720')

R2.title(username + " Dropbox")

R2.resizable(width=False,height=False)

logoutbt= Button(R2,text="Logout",width=10,height=2,bg=g,fg=gg,font="5",relief=RAISED,overrelief=RIDGE,command=deslogout)

upload = Button(R2,text="Upload",width=10,height=2,bg=g,fg=gg,font="5",relief=RAISED,overrelief=RIDGE,command=desupload)

retrieve = Button(R2,text="Retreive",width=10,height=2,bg=g,fg=gg,font="5",relief=RAISED,overrelief=RIDGE,command=desretreive)

logoutbt.place(x = 220,y = 500)

retrieve.place(x = 350,y = 500)

upload.place(x = 480,y = 500)

R2.mainloop()

open(path_name,'rb').close()

现在,当我添加命令mainpage()以在将文件发送到服务器后返回到主页面时,服务器陷入无限循环ServerCode

if message[0] == "SAVE":

if not os.path.exists("C:\Heights\Documents\Projects\HomeWork\Project\Server1\\Files\\"+message[1].split("\\")[0]):

os.makedirs("C:\Heights\Documents\Projects\HomeWork\Project\Server1\\Files\\"+message[1].split("\\")[0])

file =open("C:\Heights\Documents\Projects\HomeWork\Project\Server1\\Files\\"+ message[1],"wb")

content = ""

while True:

data = current_socket.recv(1024)

if not data:

break

content += data

file.write(content)

file.close()

当我不尝试返回时,文件可以很好地到达服务器,但是当我添加那一行时,服务器不会退出它接收所有文件内容的循环。另外,如果我试图在服务器写下所有数据后得到响应,那么客户端和服务器就会卡住。你知道吗

python如何向服务器发送文件,在Python中使用套接字向服务器发送文件相关推荐

  1. Python 技术篇-socket套接字实现服务器客户端消息传递实例演示,UDP实现

    上一篇:Python 技术篇-socket 套接字实现两个窗口间消息传递,TCP 实现 本篇介绍用 UDP 来实现. socket 套接字实现服务器客户端消息传递有 UDP 和 TCP 两种形式.他们 ...

  2. python编程示例_Python套接字编程–服务器,客户端示例

    python编程示例 Good Day Learners! In our previous tutorial, we discussed about Python unittest module. T ...

  3. 什么是Python中的套接字编程?

    摘要:本文涵盖了有关使用Python进行套接字编程的所有领域.套接字可以帮助您建立这些连接,而Python无疑可以简化连接. 本文分享自华为云社区<从零开始学python | 什么是Python ...

  4. python socket自动重连_详解python3中socket套接字的编码问题解决

    一.TCP 1.tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = '' #任意主机 PORT = ...

  5. 服务器怎么把信息发送给用户,java中怎么用tcp/ip将服务器的消息发送给多个用户...

    java中怎么用tcp/ip将服务器的消息发送给多个用户 关注:253  答案:2  mip版 解决时间 2021-01-31 01:26 提问者╬═掵中注定 2021-01-30 20:03 jav ...

  6. python socket send_全网最详细python中socket套接字send与sendall的区别

    将数据发送到套接字. 套接字必须连接到远程套接字.  返回发送的字节数. 应用程序负责检查是否已发送所有数据; 如果仅传输了一些数据, 则应用程序需要尝试传递剩余数据.(需要用户自己完成) 将数据发送 ...

  7. 【苹果群发】内容Apple推送iMessage服务器和iOS手机操作系统之间的套接字连接PushNotificationDemo

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  8. linux串口编程实例_Linux 网络编程——原始套接字实例:发送 UDP 数据包

    以太网报文格式: IP 报文格式: UDP 报文格式: 校验和函数: /*******************************************************功能:校验和函数参 ...

  9. linux怎么重命名多个文件,在Linux中如何一次重命名多个文件详解

    前言 在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等. 你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动 ...

  10. 【Linux网络编程】原始套接字实例:发送 UDP 数据包

    以太网报文格式: 详细的说明,请看<MAC 头部报文分析>. IP 报文格式: 详细的说明,请看<IP 数据报格式详解>. UDP 报文格式: 详细的说明,请看<UDP ...

最新文章

  1. JDK相关版本特性浏览
  2. 惊艳!为艺术而生的算法
  3. “好的软件人员一生必看的六十本书”
  4. Attribute is missing the Android namespace prefix
  5. centos上使用高版本gcc、g++
  6. “一休数学思维”改名“海豚思维”,并完成数千万元Pre-A轮融资
  7. ashx文件 验证是否登录_汇总丨增值税综合服务平台登录常见问题解答
  8. python面向对象编程第2版_python面向对象编程(2),之,二
  9. Unix/Linux 中的 shell 机制
  10. Jenkins-构建项目
  11. InnoDB怎么解决幻读的?
  12. 精美的手机WEB网页欣赏
  13. WEB/HTTP服务器搭建
  14. 武汉离互联网第一梯队还有多远?
  15. 《阿里铁军》的读书笔记和读后感范文2600字
  16. 《城市大脑系列建设标准规范》立项评审会胜利召开
  17. 【Unity学习历程之一】给Visual Studio中的C#脚本编辑添加自动补全
  18. linux 常用命令,持续更新中~
  19. Kettle工具入门
  20. 火车票软件哪个好用_买火车票最好的软件是哪一个?

热门文章

  1. TCP和HTTP的区别和联系
  2. 学习PyQt5(四):PyQt5的控件Spacers
  3. [Hadoop]-Yarn-调度器篇
  4. ubuntu上如何安装mysql
  5. VMware虚拟机安装WinXP出现错误output error file to the following location A:\GHOSTERR.TXT
  6. 用正则表达式改变或清除页面超链接标签url内容
  7. Dubbo限流方式源码阅读
  8. Strut2 annotation配置时action到另一个action跳转参数传递
  9. 为何区块链能成为金融行业的香饽饽?只因这5个关键因素!
  10. iOS UI08_TableView界面传值