zoukankan      html  css  js  c++  java
  • Firefly官方教程之Netconnect使用文档

    1、distributed说明
    该模块包含了服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题。
    2、结构解析

    <ignore_js_op>



    LiberateFactory,协议工厂,所有连接的本质,服务端与客户端通信的这一行为的形象化,它包含三个部分:
    1)LiberateProtocol,通信协议类,连接建立、断开后的操作,发送数据等都由它来控制
    2)DataPackProtoc,数据包协议的定义,所有的数据解析都要遵守它定制的规则
    3)ConnectionManager,连接管理器,所有的连接都受他的指挥,可以在它里面找到想要找的连接,进行操作
       Connection,与客户端的一条连接对象,通过他可以与客户端进行通信,主动断开连接,主动推送消息等。
    3、使用示例
    1)test_netconnect_server.py

    <ignore_js_op>



    2)test_netconnect_client.py

    <ignore_js_op>



    3)上面分别为server(服务端)和client(客户端)的例子,运行test_netconnect_server.py文件,你会看到下图,说明服务器已经启动,并开始监听1000这个端口。

    <ignore_js_op>



    5秒内运行test_netconnect_client.py文件,你会在server这边看到下图,

    <ignore_js_op>



    4)解释下,server运行后,client运行,client会建立两个线程,每隔线程都给server发送一条消息,会调用server的指令号为111的方法(即echo_111这个函数),打印出“hello”。Server会在运行后的5秒后断开连接id为0的那条连接,断开连接时会执行doConnectionLost方法。

  • 相关阅读:
    springbatch入门练习(第一篇)
    rabbitmq安装错误集
    动态代理和反射概念剖析
    RPC使用rabbitmq实现
    spring amqp初步了解
    aips初步设想
    静态工厂方法和实例工厂方法及普通的bean
    HDU4403(暴搜)
    CodeForces 446B
    HDU5505
  • 原文地址:https://www.cnblogs.com/9miaoshetuan/p/3845176.html
Copyright © 2011-2022 走看看