Window 和 Ubuntu ENET下载编译
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下载编译相关推荐
- Window 10 使用WSL2下载编译Android 10 系统源码,并用sourceInsight 4 看系统源码
一.Window 10 安装WSL2 安装教程来自微软官网:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 步骤 1 - 启用适用 ...
- ubuntu系统下载编译android源码
在ubuntu系统下编译android需要注意的事项: 1. 参考http://source.android.com/中的安装说明. 2. 安装JDK6中碰到的问题可以参考http://hi.baid ...
- Window/linux(Ubuntu)使用反编译工具jad
安装步骤 步骤: 1. 解压jad158e.linux.static.zip 到/home/XXXX/jad/ 下 2. net.sf.jadclipse_3.3.0.jar 此包copy 到ecli ...
- Ubuntu 10.04环境下载编译Android-2.2.1 (froyo) 源代码 1/2
应一个在电信做android开发的哥们要求,帮忙把Goole未在sdk中打包的API(即:mms彩信功能),打包到自己编译的sdk里面.偶 用了差不多5天+5夜的时间,虽然没有成功.但对于Ubuntu ...
- Ubuntu 16.04下载编译Android11源码
Ubuntu 16.04下载编译Android11源码 Ubuntu 16.04下载编译Android11源码 1. 硬件要求 2. 设置Linux构建环境 1. 安装所需的软件包 2. 安装Open ...
- Ubuntu下Android 4.0源码及内核下载编译注意点
Android源码编译再source.android.com上有完整的教程,在这里只说一下自己在下载和编译时遇到的一些问题 一.Android4.0源码下载注意事项: 1.使用64位的ubuntu比较 ...
- 在Ubuntu下FFmpeg编译,支持x264和x265(HECV)
所有下载的源 在Ubuntu下FFmpeg编译,支持x264和x265. Ubuntu 12.04 FFmpeg 2.1 Release 注意: cmake要升级要2.8.8 yasm要升级到1.2. ...
- 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.0刷linux,Ubuntu系统下编译Android 9.0系统
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 前言 在Ubuntu系统下编译Android系统.哎呀不知道是不是换了新电脑的缘故,这次编译居然从安装JDK和配置环境下 ...
最新文章
- eplan接触器主触点怎么成一组_实物讲解接触器自锁电路的接线方法
- mysql动态规划_动态规划《开篇》
- jetson nano 人脸识别
- layui2.4.0前的table隐藏列
- 利用OCR文字识别+百度算法搜索,玩转冲顶大会、百万英雄、芝士超人等答题赢奖金游戏
- 小括号教学设计导入_人教版一年级数学下教案 《小括号》教案
- 分页条件查询_mongodb多条件分页查询的三种方法
- css样式的百分比都相对于谁?
- 2.6 wpf标记扩展
- flash传值给javascript,并在html页面输出,javascript向flash swf文件传递参数值注意细节...
- 怎么修改兼容模式html,HTML5中怎么调兼容性?
- 基于RPC原理的Dubbo
- weblogic启动项目失败查看_weblogic 部署项目成功,但是再界面上取不到数据
- 初学者,学哪一种3d模型设计软件比较好?
- 非华为PC安装华为电脑管家,免积分下载
- 推荐一个谷歌浏览器去广告插件
- Nanohttpd 异常 Explicit termination medthod 'end' not called 解决方法
- 文件上传案例(java)
- 项目经理做什么工作的,每个公司不一样吗?
- 中国剩余定理(c语言)
热门文章
- ikun必学!python 画一个简单的只因
- Dungeon Master POJ - 2251
- Redis常见面试题汇总
- nodejs打包exe
- 下暴你的硬盘 超多游戏下载 不爆你找我!
- 跳跃表原理及redis跳跃表的应用
- Appium基础篇11-元素操作之点击和输入
- 用html制作个人站点,【制作个人网站】如何在网上制作自己的网页?如何用html5制作个人主页?制作个人网页设计思路是怎样的?...
- Maven使用教程【动力节点】
- c# indexof方法_清单 .IndexOf()方法,以C#为例