python编程应用实例,Python编程实例

  python编程应用实例,Python编程实例

  了解有关python网络编程的更多信息

  网络编程的专利权应该属于Unix,语法类似于各种平台(如windows、Linux等)实现的独有特性。)和语言(如C,C,Python,Java等。).如果我知道Unix socket网络编程,我想我也知道其他形式的网络编程方法。这句话不算太严厉。准确的说,你知道套接字编程和网络编程的原理。不同的是,每个平台、每种语言都有自己的语法。我们可以直接灵活运用。

  下面是用python实现的最基本的网络编程示例。这意味着依靠客户机-服务器体系结构来实现客户机和服务器之间的单向“数据分发”。我们用两种方法来实现它。一种是最原始的socket编程,另一种是使用python的面向对象包,实现第一种方法,目的是降低实现的透明度,方便快速开发。

  请求:客户端输入数据并将其发送给服务器。服务器生成的封装数据响应客户端。因为socket编程有面向连接和非面向连接两种,分别对应TCP数据流和UDP数据消息。因此,我们将实现两个方法。

  1.Python套接字编程

  面向连接的TCP套接字编程;

  #-*-编码:utf-8-*-

  3从套接字导入*

  从时间导入时间

  #地址和端口

  主机=

  端口=21567

  ADDR=(主机,端口)

  # BuffSize

  BUFSIZ=1024

  #构建套接字

  tpsersock=socket(af_inet,SOCK_STREAM)).

  #绑定套接字

  tcpSerSock.bind(ADDR)

  #倾听5客户

  tpsersock。听着.

  尝试:

  虽然正确:

  打印“等待连接”

  #构建客户端套接字

  tcpCliSock,addr=tcpSerSock.accept(

  打印。连接自: ,地址

  #接受数据和处理

  虽然正确:

  DATA=tcpclisock.recv(Bufsiz))))))))))).

  如果不是数据:

  布莱克

  tcpclisock . send([% s]% s %)ctime)、data))

  #关闭客户端套接字

  tcpCliSock.close(

  EOFError除外,键盘中断:

  tcpSerSock.close(

  #-*-编码:utf-8-*-

  从套接字导入*

  #地址和端口

  主机=127.0.0.1

  端口=21567

  ADDR=(主机,端口)

  # BufferSize

  BUFSIZ=1024

  #构建套接字

  tpclisocket=socket(af_inet,SOCK_STREAM)).

  tcpCliSocket.connect(ADDR)

  虽然正确:

  data=raw_input( )

  如果不是数据:

  布莱克

  #发送数据

  Tcpclisocket.send(数据)

  #接收数据

  DATA=tcpclisocket.recv(Bufsiz))))).

  如果不是数据:

  布莱克

  #显示数据

  打印数据

  tcpCliSocket.close(

  无连接的UDP套接字编程

  #-*-编码:utf-8-*-

  从套接字导入*

  从时间导入时间

  #地址和端口

  主机=

  端口=8000

  ADDR=(主机,端口)

  # BufferSize

  BUFFSIZE=1024

  #构建套接字

  upsersock=socket(af_inet,SOCK_DGRAM)).

  #绑定套接字

  udpSerSock.bind(ADDR)

  尝试:

  虽然正确:

  打印“等待消息”

  data,addr=UDP sersock . recvfrom(buffsize))。

  “打印”从以下地址收到消息3360“数据”

  upser sock . send to([% s]% s %)ctime)、data)、addr)))))))).

  EOFError除外,键盘中断:

  udpSerSock.close(

  #-*-编码:utf-8-*-

  从套接字导入*

  #地址和端口

  HOST=localhost

  端口=8000

  ADDR=(主机,端口)

  # BufferSize

  BUFSIZ=1024

  #构建套接字

  upclisock=socket(af_inet,SOCK_DGRAM)).

  虽然正确:

  data=raw_input( )

  Udlisock.sendto(数据,ADDR)。

  data=udpclisock . recvfrom(bufsiz))))))))).

  如果不是数据:

  布莱克

  打印数据

  udpCliSock.close(

  2.基于SocketServer软件包的网络编程

  #-*-编码:utf-8-*-

  fromsocketserverimporttcpserverastcp,StreamRequestHandler为SRH

  从时间导入时间

  #地址和端口

  主机=

  端口=21567

  ADDR=(主机,端口)

  # BuffSize

  BUFSIZ=1024

  #构建请求处理程序

  classmyrequestHandler(SRH):

  defHandle(自身) :

  打印。连接自: ,self.client_address

  self . wfile . write([% s]% s)%)ctime),self.rfile.readline))

  #构建TCP服务器

  tpserv=TCP(addr,MyRequestHandler()))))))).

  打印“等待连接”

  #循环处理

  tcpserv。服务% 20 _ % 20永远% 20% 25% 2028% 20% 25% 200 a % 20% 2023% 20% 25% 2020-% 25% 202 a-% 25% 2020和公元前7% 96%和7% a 0% 81% ef % BC % 9a % 20 utf-8% 20% 25% 2020-% 25% 202 a-% 25 200 a % 20 from % 20% 25% 2020% 20插座% 25% 2020和5% af % BC % 85%至5%25

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

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