当前位置: 首页 > news >正文

做网站 赚钱app推广实名认证接单平台

做网站 赚钱,app推广实名认证接单平台,从零开始学做网站 网站,动态网站建设实训目的ProtocolsProtocols描述了如何以异步的方式处理网络中断时间,HTTP、DNS已经IMAP是应用应用层协议中的例子,Protocols实现了IProtocol接口,它饱和如下的方法makeConnection 在transport对象和服务器之间建立一条连接connectionMa…
Protocols
Protocols描述了如何以异步的方式处理网络中断时间,HTTP、DNS已经IMAP是应用应用层协议中的例子,
Protocols实现了IProtocol接口,它饱和如下的方法

makeConnection 在transport对象和服务器之间建立一条连接
connectionMade 连接建立起来后调用
dataReceived 接受数据的时候调用
connectionLost 关闭连接时候调用


Transports
代表2个节点之间的通信,负责描述连接是细节,
Transports实现了ITtansports接口,它包含如下的方法

write 以非阻塞的方式按顺序依次将数据写到物理连接上,如果遇到阻塞会立刻切换
writeSequence 将一个字符串列表写到物理连接上,把列表中的每个元素以一个一个写过去
loseConnection 将所有挂挂起的数据写入,然后关闭连接,即先把未完成的数据传输完成在关闭
getPeer 取的连接中对端的地址信息
getHost 取得连接中本端的地址信息



服务端思路梳理
总结一下:
1、调用main方法来启动脚本
2、一个客户端过来
3、执行protocol.ServerFactory类中定义的默认的方法
4、执行factory.protocol类中定义的方法

客户端思路梳理
总结
1、调用main方法来启动脚本
2、main方法会首先会创建一个客户端的对象,然后通过reactor用这个对象去连接服务端
3、在来看EehoFactory这个客户端的类做什么工作
a、首先把一个客户端的类赋值给了protocol,这个就相当于socketer中的handle
b、clientConnectionFailed,该方法定义如果连接失败该如何处理
c、clientConnectionLost,该方法定义如果传输过程中失败该如何处理
4、我们又定义EchoClient类,这个类就是handle,定义客户端和服务端之间是如何工作的
a、connectionMade,该方法,只有客户端一旦连接上服务端,就会自动调用该方法,我们在该方法中写我们要执行的动作,就比如你连接上一个服务端你会干什么,在这里我们写的发送一个字符串
b、dataReceived,该方法,只要从服务端接收到数据,就会自动调用该方法,我们在该方法中写当我们收到服务端的数据的时候要执行什么,在这里我们写的是关闭连接
c、connectionLost,该方法,只要客户端和服务端之间的连接中断,要执行的操作


终于看到twisted的套路了,可能理解的不够全面

1、写一个基类,这个基类必须要继承protocl的一个类,这个是twisted框架所要求的,这个基类的作用就是定义一些默认的方法,比如我们在学习socketserver的时候,有setup方法和finish方法
2、写一个基本的方法,这个方法就是主要有连接过来,就会自动触发的方法,这个方法的作用就类似于socketserver中的handle方法
3、在写一个reactor的方法,该方法就会时时监听某个端口,看是否有连接进来,如果有连接进来,就会为这个客户端的连接创建一个实例,这个实例就是实例化步骤1中创建的基类

先看服务端的代码

from twisted.internet import protocol
from twisted.internet import reactorclass Echo(protocol.Protocol):def dataReceived(self, data):#只要twisted一收到数据就会调用此方法dataReceived,收到数据后干什么,他就不知道了#这里写的意思就是收到后在发回去给客户端self.transport.write(data)def main():factory = protocol.ServerFactory()#服务器工厂,和客户端建立连接后定义的某些方法,比如发送数据或者文件#除了这些,还有一些默认的方法,可以理解为定义一个基础的工厂类,比如# soceketserver方法中的setup方法,和finsh方法factory.protocol = Echo#相当于socketserver中的handle,必须要写,每个客户端过来都会建立一个# 实例,然后就调用Echo这个方法reactor.listenTCP(9000,factory)#相当于一个触发器,监听9000端口,把我们定义的基础类放在这里,和socketserver中一样reactor.run()if __name__ == '__main__':main()

 

 

在看客户端的代码

from twisted.internet import reactor
from twisted.internet import protocolclass EchoClient(protocol.Protocol):def connectionMade(self):#只要链接一建立,就会自动调用此方法print "client send data to server"self.transport.write("hello world")def dataReceived(self, data):#只要有数据收到,就会调用该方法,这个都是自动的print "Server said",dataself.transport.loseConnection()#这里收到数据后,打印数据,然后就关闭链接了,调用这个方法loseConnection,reactor会自动调用connectionLost方法def connectionLost(self, reason):print "Connection lost"class EehoFactory(protocol.ClientFactory):protocol = EchoClient#相当于handledef clientConnectionFailed(self, connector, reason):#如果连不上就会调用该方法,也是reactor中自动调用的print "Connection failed - goodbye"reactor.stop()def clientConnectionLost(self, connector, reason):#如果连的过程中断开了,就会自动执行该方法,也是reactor方法自动调用的print "Connection lost - goodbye"reactor.stop()def main():f = EehoFactory()#创建一个客户端的基类reactor.connectTCP("localhost",9000,f)#直接连接if __name__ == '__main__':main()

  

转载于:https://www.cnblogs.com/bainianminguo/p/7482763.html

http://www.lbrq.cn/news/2446795.html

相关文章:

  • 做网站手把手网站制作设计
  • wordpress文章底部插件seo如何去做优化
  • 本地生活网站 源码seo对网络推广的作用是什么?
  • 辽宁省人民政府国有资产监督管理委员会搜索引擎seo优化平台
  • 文化类网站的前置审批站长之家域名查询
  • 政府网站建设验收方案及标准百度竞价推广是什么工作
  • 怎么做网站报价表百度指数分是什么
  • wordpress下载站主题宁波seo教程推广平台
  • 公开招标网站销售怎么做
  • 网站好玩新功能十大免费网站推广入口
  • 个人网站 bootstrap线上营销推广方案
  • 去哪儿网站排名怎么做crm系统网站
  • 做旅游攻略去什么网站网络平台运营是做什么的
  • 网站制作 搜索怎样在百度上发帖子
  • 代驾软件系统多少钱一套成都关键词优化排名
  • 郴州网站制作电子商务与网络营销教案
  • 网站 建设可行性报告军事最新消息
  • 做网站书面报告申请推广方案怎么写模板
  • 网站模板开发网络营销就是seo正确吗
  • 个人网站 如何备案网络营销策划包括哪些内容
  • 网站排名优化效果自己做网站
  • 多城市网站建设西安网站排名优化培训
  • axure做网站原型模板竞价托管
  • 海口网站制作案例网站系统开发
  • 电子商务网站建设自服务器每日新闻简报
  • 柳州做网站有kv产品推广方法有哪些
  • 做的比较好的旅游网站qq群推广平台
  • 建独立网站杭州优化seo公司
  • 宝安附近公司做网站建设多少钱创建网站平台
  • 用jsp做的购物网站互联网推广销售是做什么的
  • C++20 协程
  • 详解力扣高频SQL50题之1141. 查询近30天活跃用户数【简单】
  • Linux权限机制:RUID/EUID/SUID与进程安全
  • 路由选择工具——IP-Prefix
  • 访问者模式感悟
  • 理解Spring中的IoC