关闭

UDT Ubuntu14.04编译过程出现的问题及解决

标签: UDTubuntutcpudp
523人阅读 评论(0) 收藏 举报
分类:
前几天,我听说了UDT,原来只听说过TCP和UDP,也知道各自的优缺点,UDP的优点就是传输速度快,缺点是容易丢包,收到的包也是无序的,收到之后可以通过对包排序解决;TCP的优点就是传输稳定,但是花销大,传输速度慢。
UDT是基于UDP的传输协议。UDT可以说是集合了两者的优点,有UDP的传输速度,还不会丢包,有TCP的稳定性,但传输速度快。
现在就把UDT源码下载下来,编译一下。
1.首先想了解UDT就去官网,官网网址[UDT官网:](http://udt.sourceforge.net/),里边有详细的解释、说明和最新动态。但是现在源文件的话就要去另一个网址了[UDT源码下载 ](https://sourceforge.net/projects/udt/files/latest/download?source=directory.)(我下载的是4.0版本);
2.下载成功之后解压一下,用tar -zxvf udt.sdk.4.11.tar.gz,解压到当前路径;
3.解压成功之后进去./udt4会有几个文件和目录,目录有win,src,doc,app,文件有RELEASE_NOTES.txt,README.txt,Makefile,LICENSE.txt,draft-gg-udt-xx.txt,首先进入**src**目录,将所有的.h文件拷入到/usr/include目录下,$cp *.h /usr/include;
4.将当前目录下所有的.cpp文件做成动态库,g++ *.cpp -fPIC -shared -o libudt4.so,然后将libudt4.so文件拷到/lib/目录下,cp libudt4.so /lib/;
5.这样,所有的准备工作就完成了,接下来,返回到上一个目录,进入到app目录下,这个文件是做好的简单传输编程,我们就把appserver.cpp文件和appclient.cpp文件编译一下,首先,应该编译的是server文件,g++ -o ser appserver.cpp  -I ../ -lpthread -ludt4这样就行成了ser可执行文件,然后对client文件进行编译,g++ -o cli appclient.cpp  -I ../ -lpthread -ludt4,这样就形成了cli可执行文件编译文件就完成了。
6.测试一下,首先把要将服务器端按启动起来,就是ser执行一下./ser,然后把客户端启动起来;![这里写图片描述](http://img.blog.csdn.net/20160530211109287)启动客户端需要参数,就是本机的IP和端口号./cli localhost 9000,因为是本机的IP,就用localhost![这里写图片描述](http://img.blog.csdn.net/20160530211124288)

最后这是连上服务器端的结果这里写图片描述 这就表明编译成功了
最后总结一下,这个编译问题归根到底就动态库的创建与连接使用问题,本人在大二上学期学过scoket,略微接触了一下动态库与静态库,这其实就是这些问题。也没什么难的,就是这样。

1
0
查看评论

Linux 网卡丢包严重

生产中有一台linux设备并发比较大,droped包比较多,尤其是在跑游戏数据包的时候,存在严重的丢包现象,怀疑网卡性能不足,在更换设备前想能不有通过软件方法解决,通过网上一些资料显示,出现这种现象,也有可能是网卡buffer size 太小的原因,遂尝试更改buffer...
  • mergerly
  • mergerly
  • 2014-05-08 17:31
  • 10751

将UDT编译成静态LIB库

将UDT编译成静态LIB库UDT目前版本为udt.sdk.4.10,在vc2008中可以直接编译出例子,和udt.dll如果感觉带着DLL比如麻烦或者不适合(比如写个马)那么可以把udt编译成静态LIB的方式方法如下 以vc2008为例子说明首先设置编译环境其次修改udt.h的代码如下编译 后的ud...
  • chinafe
  • chinafe
  • 2013-01-16 16:32
  • 3441

关于 Ubuntu 14.04出现内部错误

對於新手 安裝新版本時 構成困擾 想要徹底避免 錯誤訊息 再出現 把這個檔案 /etc/default/apport 找到這一行 enabled=1 把 1 改為 0 儲存 立刻生效 錯誤訊息 不再出現
  • u013013553
  • u013013553
  • 2015-03-31 08:33
  • 1402

lnmp 源码安装

首先准备好一台线上阿里云服务器1:php官网下载源码文件2 :安装gcc gcc++libxml2-devel yum install gcc gcc++ libxml2-devel3 :解压源码文件 cd 到源码目录里面 执行 ./configure --prefix=/usr/local/php...
  • u010320371
  • u010320371
  • 2017-03-01 09:41
  • 253

程序调试中的常见问题及解决方法

程序调试中的常见问题及解决方法 【转载文章真麻烦_(:з」∠)_】
  • qq_36693514
  • qq_36693514
  • 2017-09-09 08:55
  • 239

C语言中遇到的问题及解决方法

2012年5月5号; 问题:for语句和while语句后面有; 的情况。相当于 这是执行空循环,i会累加,但啥都不执行。直到不满足条件为止。 for(;;) ; while() ; 2012年5月10号; 今天开始看《计算机程序设计艺术》,里面讲到算法的几重特性,其中的efficie...
  • frostwong
  • frostwong
  • 2012-05-06 10:36
  • 1149

no session问题的产生与解决

no session问题的产生是由于,才有对象导航加载数据,页面使用数据时,由于session已经关闭,无法加载相应数据,此时,可以配置关联关系时设置lazy属性=false,立即加载方法,也可以提前使用数据,使其自动加载,这里介绍使用 OpenSessionInViewFilter解决no ses...
  • qq_28334711
  • qq_28334711
  • 2016-07-26 22:35
  • 1593

UDT协议详解

基于UDP的数据传输协议(UDP-based Data Transfer Protocol,简称UDT)是一种互联网数据传输协议。UDT的主要目的是支持高速广域网上的海量数据传输,而互联网上的标准数据传输协议TCP在高带宽长距离网络上性能很差。 顾名思义,UDT建于UDP之上,并引入新的拥塞控制和数...
  • bytxl
  • bytxl
  • 2015-04-10 14:55
  • 2483

项目中遇到的 问题及解决方案

1.Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA 解决方案:1).android设备网络连接没打开,例如3G网络和WIFI网络      所以,如果遇到这种错误时...
  • Dreamfree3
  • Dreamfree3
  • 2016-03-01 15:47
  • 1623

UDT协议实现分析——UDT Socket的创建

UDT API的用法 在分析 连接的建立过程 之前,先来看一下UDT API的用法。在UDT网络中,通常要有一个UDT Server监听在某台机器的某个UDP端口上,等待客户端的连接;有一个或多个客户端连接UDT Server;UDT Server接收到来自客户端的连接请求后,创建另外一个单独的UD...
  • tq08g2z
  • tq08g2z
  • 2017-08-17 10:38
  • 402
    个人资料
    • 访问:772次
    • 积分:31
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档