现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2019-06-06 17:41 工业·编程 ⁄ 共 12589字 暂无评论
Overview main() –> startup() –> accept_request() –> execute_cgi() Main senario: Establish a web server step 建立连接– accept connection from client Accept request – 读取一条HTTP报文 Handle request – 解释报文,采取行动 访问资源 – 访问报文中指定的资源 构建报文 – 创建带有正确HTTP首部的报文 发送响应 – give the response to client 记录事务处理过程 – record the step into log <– No such i...
阅读全文
tinyhttpd 是一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服务器程序的本质。 看完所有源码,真的感觉有很大收获,无论是 unix 的编程,还是 GET/POST 的 Web 处理流程,都清晰了不少。废话不说,开始我们的 Server 探索之旅。 项目主页:http://sourceforge.net/projects/tinyhttpd/ 主要函数: void accept_request(int); void bad_request(int); void cat(int, FILE *); void cannot_execu...
阅读全文
2019-06-04 11:22 工业·编程 ⁄ 共 14563字 暂无评论
1995年3月,Dr.Dobb's Journal特约记者, 著名技术书籍作家Al Stevens采访了STL创始人AlexanderStepanov. 这份访谈纪录是迄今为止对于STL发展历史的最完备介绍, 侯捷先生在他的STL有关文章里推荐大家阅读这篇文章. 因此我将该文全文翻译如下: Q: 您对于generic programming进行了长时间的研究, 请就此谈谈. A: 我开始考虑有关GP的问题是在7O年代末期, 当时我注意到有些算法并不依赖于数据结构的   特定实现,而只是依...
阅读全文
2019-06-03 10:47 工业·编程 ⁄ 共 612字 暂无评论
protoBuf是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。与Protoful类似的序列化技术还有XML、JSON、Thrift等。 优点 与同类型的数据交换格式相比(诸如json,xml),由于protobuf是基于二进制数据传输格式,因此它具有高效的解析速度和更小...
阅读全文
Spring是一个生态体系(也可以说是技术体系),是集大成者,它包含了Spring Framework、Spring Boot、Spring Cloud等(还包括Spring Cloud data flow、spring data、spring integration、spring batch、spring security、spring hateoas),可以参考链接. Spring Framework Spring Framework是整个spring生态的基石 ,它可是硬生生的消灭了Java官方主推的企业级开发标准EJB,从而实现一统天下。Spring官方对Spring Framework简...
阅读全文
2019-06-01 05:12 工业·编程 ⁄ 共 3276字 暂无评论
1.选择路由 若要将数据包发至PC2,则linux系统通过查询路由表可知168.1.1.10(目的地址)的网关地址为192.168.1.1,此时linux系统选择网卡1发送数据包。 2.邻居子系统(通过arp协议建立起邻居的信息) 选择网卡1发送数据时,首先将数据包发给邻居(网关),再由邻居转发至后面,若要发送给邻居,则必须知道邻居的MAC地址,若不知道邻居的MAC地址,则需要通过arp请求包获取邻居的MAC地址。 Linux网络体系结构由以下五个部分...
阅读全文
其实基于X86开发的路由系统,很早就有一些企业开始做了,国内的比较出名的有海蜘蛛,维盟、爱快等等,但是今天介绍的呢,是国外的一个专攻于此的厂商,当然,现在他们在02年也推出了基于他们自己ROS的硬件路由器。 MikroTik成立于1995年,总部位于拉脱维亚首都里加,主要从事开发路由器和无线ISP系统。1997年推出RouterOS系统,2002年推出RouterBOARD。 通过该软件将标准的PC电脑变成专业路由器,在软件的开发和应用上不断的更...
阅读全文
2019-05-30 21:58 工业·编程 ⁄ 共 1343字 暂无评论
一:LinPhone是什么 LinPhone是一个网络电话或者IP语音电话(VOIP),是一款遵循GPL的开源的网络视频电话系统,其主要如下: 使用linphone,我们可以在互联网上随意的通信,通过语音、视频、即时文本消息。 linphone使用SIP协议,是一个标准的开源网络电话系统,你能将linphone与任何基于SIP的VoIP运营商连接起来,包括我们自己开发的免费的基于SIP的Audio/Video服务器。 LinPhone是一款自由软件(或者开源软件),你可以随意的...
阅读全文
Asterisk 与freeswitch都是流行的开源软交换服务器,Asterisk出现的比较早,大概在1999年开始此项目,应该是最流行的开源软交换服务器,整个社区上下游都已经很成熟。 freeswitch 算是后起之秀,2005年才开始,但性能和稳定性都明显优于Asterisk,但由于出现的晚,导致其功能的多样性及与其他系统的集成难度高于asterisk. 两者对比 1:Asterisk是针对百人左右的小型系统,相同的硬件配置下单系统并发也就几百路(不同版本性能有...
阅读全文
2019-05-28 20:27 工业·编程 ⁄ 共 549字 评论 1 条
OpenSIPS和Asterisk都是开源项目,并且都是用来做VoIP的。 它们扮演的角色不同,优缺点也各不相同。 简单地说,本质上,OpenSIPS是一个SIP Proxy Server,而Asterisk是一个Media Server。 因为,OpenSIPS仅仅是将呼叫控制命令中继到另外的服务器,而不是语音呼叫的终端。 Asterisk收到呼叫后会向目标另外建立新的呼叫,通过连接两个呼叫的音频流而让整个过程看起来像一个呼叫一样。本质上是有两个呼叫在进行,属于一种B2BUA模...
阅读全文