发布于 2017-06-04 23:54:13 | 64 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

tcpdaemon TCP连接管理

tcpdaemon是类似于xinetd的TCP守护服务,它封装提供了各种常见TCP连接管理模型(即时派生、预派生进程池等),使用者只需编写TCP通讯数据交换协议和应用处理代码,就能快速完整构造自己的TCP应用服务器。


1.2.1    2017-06-04    calvin
    * 修正了服务模型IOMP的多进程没有轮流切换主侦听问题

1.2.0    2017-06-03    calvin
    * 重整了代码,有少许接口与老版本不兼容
    * 新增服务模型IOMP,支持Linux环境

---------------------------------------

# 0.快速开始 #
老师交给小明一个开发任务,实现一个TCP网络迭代并发服务器,用于回射任何接收到的通讯数据。小明很懒,他在开源中国项目库里搜到了开源库tcpdaemon来帮助他快速完成任务。首先他安装好tcpdaemon,然后写了一个C程序文件

test_callback_echo.c      $ vi test_callback_echo.c      #include "tcpdaemon.h"            _WINDLL_FUNC int tcpmain( struct TcpdaemonServerEnvirment *p_env , int sock , void *p_addr )      {          char    buffer[ 4096 ] ;          long    len ;                    len = recv( sock , buffer , sizeof(buffer) , 0 ) ;          if( len <= 0 )              return len;                    len = send( sock , buffer , len , 0 ) ;          if( len < 0 )              return len;                    return 0;      }

他编译链接成动态库test_callback_echo.so,最后用tcpdaemon直接挂接执行

      $ tcpdaemon -m IF -l 0:9527 -s test_callback_echo.so -c 10 --tcp-nodelay --logfile $HOME/log/test_callback_echo.log

OK,总共花了五分钟,圆满完成老师作业。老师说这个太简单了,小明你给我改成像Apache经典的Leader-Follow服务端模型,小明说没问题,他把启动命令参数`-m IF`改成了`-m LF`,再次执行,完成老师要求,总共花了五秒钟。老师问你怎么这么快就改好了,小明说全靠开源项目tcpdaemon帮了大忙啊 ^_^

# 1.概述 #
tcpdaemon是一个TCP通讯服务端平台/库,它封装了众多常见服务端进程/线程管理和TCP连接管理模型(Forking、Leader-Follow、IO-Multiplex、WindowsThreads Leader-Follow),使用者只需加入TCP通讯数据收发和应用逻辑代码就能快速构建出完整的TCP应用服务器。

...

详情:http://git.oschina.net/calvinwilliams/tcpdaemon



历史版本 :
TCP 通讯服务端平台/库 tcpdaemon 更新至 v1.2.2
tcpdaemon 更新至 v1.2.1 , TCP 通讯服务端平台/库
tcpdaemon 更新至 v1.2.1 , TCP 通讯服务端平台/库
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务