python socket服务器,python socket实现文件传输

  python socket服务器,python socket实现文件传输

  本文主要介绍Pythonsocket是如何实现服务器和客户端之间的数据传输(TCP)的,有很好的参考价值,希望对大家有所帮助。如有错误或不足之处,请不吝赐教。

  

目录

套接字服务器和客户端数据传输(TCP)套接字服务器,客户端相互通信。

 

  

socket服务端和客户端数据传输(TCP)

 

  服务器端:

  导入插座

  #创建一个套接字对象

  socket _ server=socket . socket(socket。AF_INET,socket。袜子_流)

  主机=127.0.0.1

  端口=9999

  #绑定地址

  socket_server.bind((主机,端口))

  #设置监听

  套接字_服务器.监听(5)

  # socket_server.accept()返回一个元组,元素1是客户端的socket对象,元素2是客户端的地址(ip地址,端口号)。

  client_socket,地址=socket_server.accept()

  #while循环是为了让对话继续下去。

  而True:

  #接收客户的请求

  recvmsg=client _ socket . recv(1024)

  #解码接收的数据

  strData=recvmsg.decode(utf-8 )

  #设置退出条件

  if strData==q:

  破裂

  打印(已收到: %s% strData )

  #输入

  Msg=input(发送3360 )

  #要发送数据,需要编码。

  client _ socket . send(msg . encode( utf-8 ))

  #关闭服务器端

  socket_server.close()

  客户:

  导入插座

  #创建一个套接字对象

  client=socket.socket(套接字。AF_INET,socket。袜子_流)

  主机=127.0.0.1

  端口=9999

  #连接服务器

  client.connect((主机,端口))

  而True:

  Send_msg=input(发送: )

  #设置退出条件

  if send_msg==q:

  破裂

  发送消息=发送消息

  #发送数据、代码

  client . send(send _ msg . encode( utf-8 ))

  #接收服务器返回的数据

  msg=client.recv(1024)

  #解码

  Print (Receive: %s ,% msg.decode(utf-8 ))

  #关闭客户端

  client.close()

  流程图

  

socket服务端,客户端互相通信

 

  使用socket传递参数,运行程序与客户端结合,先启动服务器,再启动客户端。基本代码如下:

  服务结束代码

  导入插座

  导入时间

  打印(“服务器已打开”)

  #创建套接字

  mySocket=socket.socket(socket。AF_INET,socket。袜子_流)

  #设置IP和端口

  #host=socket.gethostname()

  主机=127.0.1.1

  端口=3333

  #bind绑定端口。

  mySocket.bind((主机,端口))

  #监视器

  mySocket.listen(10)

  而True:

  #接收客户端连接

  打印(等待连接.)

  client,address=mySocket.accept()

  打印(“新连接”)

  打印( IP是%s %地址[0])

  打印(端口是%dn %地址[1])

  而True:

  #发送消息

  Msg=input(“服务器发送:”)

  client . send(msg . encode(encoding= utf-8 ))

  打印(“发送完成”)

  print(time . strftime( % y-% m-% d % h :% m :% s ,time.localtime (time.time ())) #格式化的时间戳采用标准格式。

  if msg==EOF:

  破裂

  if msg==quit:

  client.close()

  mySocket.close()

  打印(“程序结束n”)

  退出()

  #阅读信息

  msg=client.recv(1024)

  Print(服务器接收: ,msg . Decode( utf-8 )#解码接收到的数据

  打印(“阅读完成”)

  if msg==bEOF:

  破裂

  if msg==bquit:

  client.close()

  mySocket.close()

  打印(“程序结束n”)

  退出()

  客户代码:

  导入插座

  打印(“客户端开启”)

  #创建套接字

  mySocket=socket.socket(socket。AF_INET,socket。袜子_流)

  #设置ip和端口

  #host=socket.gethostname()

  主机=127.0.1.1

  端口=3333

  尝试:

  MySocket.connect((主机,端口))# #连接到服务器

  打印(“连接到服务器”)

  除了: ##连接失败,运行原ip。

  打印(“连接失败”)

  而1:

  #接收消息

  msg=mySocket.recv(1024)

  print( Client receives:% s % msg . Decode( utf-8 ))#解码接收到的数据

  打印(“阅读完成”)

  if msg==bEOF:

  破裂

  if msg==bquit:

  mySocket.close()

  打印(“程序结束n”)

  退出()

  #发送消息

  Msg=input(客户端发送: )

  my socket . send(msg . encode(encoding= utf-8 ))

  打印(“发送完成”)

  if msg==EOF:

  破裂

  if msg==quit:

  mySocket.close()

  打印(“程序结束n”)

  退出()

  打印(“程序结束n”)

  以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: