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

深圳做网站最好的公深圳猎头公司

深圳做网站最好的公,深圳猎头公司,专业网页设计师培训机构,中国新闻社名词解释嵌入式linux开发中,需要使用http服务器时,mongoose是个很好的选择,linux,win双平台都支持,代码全开放,简单明了,我非常喜欢这种尽在撑控中的感觉(关于mongoose实现一个小型的http服务…

嵌入式linux开发中,需要使用http服务器时,mongoose是个很好的选择,linux,win双平台都支持,代码全开放,简单明了,我非常喜欢这种尽在撑控中的感觉(关于mongoose实现一个小型的http服务,我之前的博客已有说明)。近日,有在linux,win下编写TCP的需求,mongoose当然也能很好的实现tcp。在此做个笔记。

我使用qt5的creator做为主开发界面,为了代码的通用性,我选择用qt creator新建一个non qt project项目,用C++类的方法对mongoose进行封装。因为mongoose本身是支持linux,win双平台的,其本不需做任何改动,即可在双平台下编译成功。但在linux平台下,需要qt项目指定链接pthread库,而在win平台下,需要指定链接Ws2_32网络库,在QT5项目的pro文件中加入以下内容

#CONFIG += linux
CONFIG += WIN32

CONFIG(WIN32){
LIBS += -lWs2_32
}
else{
LIBS += -lpthread
}

编译时,根据不同的平台,设定CONFIG的内容即可实现跨平台的编译

代码本身用到c++11才支持的lamda函数,因此需要编译器支持c++11特性。在win下可用qt5自带的mingw  编译通过,linux下可用gcc4.7(包括交叉编译用的gcc)以上即可编译通过。

在代码中,tcp_server,tcp_client是两个mongoose的tcp的封装类。在使用时,用lamda函数进行server或client的服务开启关闭,连接,断开事件的处理,数据的传送处理等。

tcp_client没啥好说的,基本就是mongoose的简单封装。
tcp_server主要的特点,是还实现了多个tcp连接的管理。mongoose本身也有简单的连接管理,但用c++的方法管理起来更方便。因此这个tcp_server可以支持多个连接的管理,在嵌入式linux中,多个连接的管理不常用,但有时还是需要的。

另外,mongoose是基于事件驱动的,在某个线程中通过mg_mgr_poll函数来实现事件驱动。为方便使用,我在这两个类中,分别使用了一个C++11的thread,并做了线程安全处理。TCP_Server是服务开启各关闭时,同时实现thread的新建和销毁,TCP_Client是在连接和断开时,实现thread的新建和销毁。这样,在使用这两个类时,不用关心线程问题,是要关心数据的接收和处理即可。

在这里我将完整的源码放出来供大家参考、使用。

https://download.csdn.net/download/hugerat/89936871?spm=1001.2014.3001.5503

http://www.sczhlp.com/news/146616/

相关文章:

  • 互联网科技公司做网站哪家好关键词数据分析
  • 网站建设新方式简单省时注册公司费用多少钱
  • 乐云seo网站建设公司wordpress查看管理员密码
  • 怎样查看网站是否备案网站的网站维护的原因
  • 三一重工的网站是哪家做的赫山区网站建设
  • 忻州推广型网站建设全屏企业网站
  • 单位服务器网站打不开台州华燕网业有限公司
  • 济南网站制作专业做淘客的网站名称
  • 广告传媒网站模板手机网站设计推荐
  • 石家庄集团网站建设网站做移动适配以后可以取消吗
  • 网站建设方案的重要性拍摄宣传视频
  • 南京较好的网站制作公司设计网站制作
  • 天津网站推广优化云电脑免费版
  • 潍坊搜易网站建设常见的网站首页布局
  • 台州网站建站企业营销型网站有哪些
  • 建立网站的流程是什么赣州网络招聘
  • 微信网站如何做温州微网站制作哪里有
  • 济南有哪些网站是做家具团购的网络广告一般收费价目表
  • 做音乐创作的网站长沙专业做网站公司哪家好
  • 网站群维护方案徐州沛县网站建设
  • 毕业设计做网站 如何做品牌网络推广
  • 爱站网官网查询域名商丘软文推广
  • ip地址直接访问网站湖南建设网站官网
  • 奥门网站建设wordpress官方下载
  • 微信app网站建设网络营销方式英语
  • 扁平式网站wordpress如何添加百度商桥
  • 彩票开奖网站开发软文例文 经典软文范例
  • 从流程适配到合规校验:AI赋能智能工单5天交付全流程
  • Tabnine+Sourcery协同:企业级动态仪表盘4天落地的底层逻辑
  • 一个网站开发需要多久wordpress中文插件