Window 和 Ubuntu ENET下载编译

大家都知道UDP这个东西太不可靠了,存在着乱序,丢包,包重复等缺点,但它的速度快,包有界等优点,但在实际编程中要自己处理乱序啊之类的问题会发疯 的。也许大家说用TCP就得了,第一点TCP的速度比较慢,第二个TCP是一个数据流一样的东西,我们要传数据的话还得处理数据的分界问题,也挺麻烦的。
针对这个问题,ENET这个库实现了一个性能介于TCP与UDP之间,完成可靠(不丢包,按序),保持数据的分界的优点。编程起来也挺方便的。下载到http://enet.bespin.org/,目前最新版本是1.3.15,然后按照说明编译出库出来。
ENet的目的是提供一个相对轻便、简单和强大的网络通信层的UDP(用户数据报协议)。 它提供的主要功能是可选的、可靠的、顺序的数据包发送。
ENet省略了一些更高层次的网络功能,如身份验证、加密,尤其特定于应用程序的其他类似任务。库文件灵活,轻便,容易嵌入。

1. Window下的 Enet编译
ENet官网给出了安装ENet的具体方法,翻译如下:
您可以简单地使用包含的“enet.lib”或“enet64.lib”静态库。但是,如果您希望自己创建库,那么适用以下说明:有一个包含MSVC 6项目(enet.dsp),您可以使用它来构建合适的库文件。或者,您可以简单地将所有ENet源文件拖到您的主项目中。
您必须链接到Winsock2库,因此请确保将ws2_32.lib和winmm.lib添加到库列表(项目设置|链接|对象/库模块)。
加载包含的enet.dsp。如果您使用的是MSVC的新版本,MSVC可能会要求您将其转换 - 只需进行转换并将生成的项目保存为“enet”或类似文件即可。生成此项目后,它将输出一个“enet.lib”文件到“Debug /”或“Release /”目录,具体取决于您选择要构建的配置。默认情况下,它应该产生“Debug / enet.lib”。
然后,您可以将生成的“enet.lib”文件和“include /”目录中找到的头文件复制到其他项目中,并将其添加到其库项目列表中。确保也如上所述链接“ws2_32.lib”和“winmm.lib”。
这边直接附上一位大佬编译好的,亲测可用:可靠的UDP网络库_eNet(安装包+教程)
2. Ubuntu 下的ENet下载和编译
(1)下载ENet源文件

git clone  https://github.com/lsalzman/enet.git

(2)使用 automake 和 autoconf 构建系统环境。

apt-get install automake  //下载automake,如果有就不需要下载
autoreconf -vfi (ENet的下载位置) //构建系统环境构建时可能出现的错误,
configure.ac:10:error possibly underfined macro :AC-PROG-LIBIOOL
... please use m4-pattern-allow
解决方案:
sudo apt-get install libtool   //下载libtool


(3)进入ENet ,执行 ./configure
(4)执行 make 命令
(5)执行 make install ,将不同的文件放到文件系统中。如果有错误,可以进入root用户执行。
(6)进入 /usr/local/lib下查看,可看到以libenet开头的.so文件

3. 结束
这样在Windows下和Ubuntu下都实现了ENet库的编译,编写与2020年08月01日

Window 和 Ubuntu ENET下载编译相关推荐

  1. Window 10 使用WSL2下载编译Android 10 系统源码,并用sourceInsight 4 看系统源码

    一.Window 10 安装WSL2 安装教程来自微软官网:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 步骤 1 - 启用适用 ...

  2. ubuntu系统下载编译android源码

    在ubuntu系统下编译android需要注意的事项: 1. 参考http://source.android.com/中的安装说明. 2. 安装JDK6中碰到的问题可以参考http://hi.baid ...

  3. Window/linux(Ubuntu)使用反编译工具jad

    安装步骤 步骤: 1. 解压jad158e.linux.static.zip 到/home/XXXX/jad/ 下 2. net.sf.jadclipse_3.3.0.jar 此包copy 到ecli ...

  4. Ubuntu 10.04环境下载编译Android-2.2.1 (froyo) 源代码 1/2

    应一个在电信做android开发的哥们要求,帮忙把Goole未在sdk中打包的API(即:mms彩信功能),打包到自己编译的sdk里面.偶 用了差不多5天+5夜的时间,虽然没有成功.但对于Ubuntu ...

  5. Ubuntu 16.04下载编译Android11源码

    Ubuntu 16.04下载编译Android11源码 Ubuntu 16.04下载编译Android11源码 1. 硬件要求 2. 设置Linux构建环境 1. 安装所需的软件包 2. 安装Open ...

  6. Ubuntu下Android 4.0源码及内核下载编译注意点

    Android源码编译再source.android.com上有完整的教程,在这里只说一下自己在下载和编译时遇到的一些问题 一.Android4.0源码下载注意事项: 1.使用64位的ubuntu比较 ...

  7. 在Ubuntu下FFmpeg编译,支持x264和x265(HECV)

    所有下载的源 在Ubuntu下FFmpeg编译,支持x264和x265. Ubuntu 12.04 FFmpeg 2.1 Release 注意: cmake要升级要2.8.8 yasm要升级到1.2. ...

  8. Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书

    Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书 安装 Nginx 安装依赖 $ apt-get update $ apt-get install build-e ...

  9. 安卓9.0刷linux,Ubuntu系统下编译Android 9.0系统

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 前言 在Ubuntu系统下编译Android系统.哎呀不知道是不是换了新电脑的缘故,这次编译居然从安装JDK和配置环境下 ...

最新文章

  1. eplan接触器主触点怎么成一组_实物讲解接触器自锁电路的接线方法
  2. mysql动态规划_动态规划《开篇》
  3. jetson nano 人脸识别
  4. layui2.4.0前的table隐藏列
  5. 利用OCR文字识别+百度算法搜索,玩转冲顶大会、百万英雄、芝士超人等答题赢奖金游戏
  6. 小括号教学设计导入_人教版一年级数学下教案 《小括号》教案
  7. 分页条件查询_mongodb多条件分页查询的三种方法
  8. css样式的百分比都相对于谁?
  9. 2.6 wpf标记扩展
  10. flash传值给javascript,并在html页面输出,javascript向flash swf文件传递参数值注意细节...
  11. 怎么修改兼容模式html,HTML5中怎么调兼容性?
  12. 基于RPC原理的Dubbo
  13. weblogic启动项目失败查看_weblogic 部署项目成功,但是再界面上取不到数据
  14. 初学者,学哪一种3d模型设计软件比较好?
  15. 非华为PC安装华为电脑管家,免积分下载
  16. 推荐一个谷歌浏览器去广告插件
  17. Nanohttpd 异常 Explicit termination medthod 'end' not called 解决方法
  18. 文件上传案例(java)
  19. 项目经理做什么工作的,每个公司不一样吗?
  20. 中国剩余定理(c语言)

热门文章

  1. ikun必学!python 画一个简单的只因
  2. Dungeon Master POJ - 2251
  3. Redis常见面试题汇总
  4. nodejs打包exe
  5. 下暴你的硬盘 超多游戏下载 不爆你找我!
  6. 跳跃表原理及redis跳跃表的应用
  7. Appium基础篇11-元素操作之点击和输入
  8. 用html制作个人站点,【制作个人网站】如何在网上制作自己的网页?如何用html5制作个人主页?制作个人网页设计思路是怎样的?...
  9. Maven使用教程【动力节点】
  10. c# indexof方法_清单 .IndexOf()方法,以C#为例