Porting iperf to Android

iperf是什么就不介绍了,其实下面的方法也是在网上抄过来的,主要参考的网址如下:

porting

iperf的使用

使用

iperf的源码可以在下面下载

源码sourceforge

1,下载源码解压缩到,android_root/external下

2,生成一些头文件,在android_root/external/iperf-2.0.4下运行 ./configure -host=arm ,如果你的虚拟机是x86的那就 -host=x86

3, 在android_root/external/iperf-2.0.4下生成如下的Android.mk文件

LOCAL_PATH:= $(call my-dir)
 
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
compat/Thread.c \
compat/error.c \
compat/delay.cpp \
compat/gettimeofday.c \
compat/inet_ntop.c \
compat/inet_pton.c \
compat/signal.c \
compat/snprintf.c \
compat/string.c

LOCAL_SRC_FILES += \
src/Client.cpp \
src/Extractor.c \
src/Launch.cpp \
src/List.cpp \
src/Listener.cpp \
src/Locale.c \
src/PerfSocket.cpp \
src/ReportCSV.c \
src/ReportDefault.c \
src/Reporter.c \
src/Server.cpp \
src/Settings.cpp \
src/SocketAddr.c \
src/main.cpp \
src/sockets.c \
src/stdio.c \
src/tcp_window_size.c \
src/gnu_getopt.c \
src/gnu_getopt_long.c \
src/service.c

LOCAL_C_INCLUDES += \
$(LOCAL_PATH) \
$(LOCAL_PATH)/include

LOCAL_CFLAGS += -O2

LOCAL_CFLAGS += -DHAVE_CONFIG_H

LOCAL_LDLIBS += -lpthread

LOCAL_SHARED_LIBRARIES := libc libm libcutils libnetutils

LOCAL_MODULE := iperf

#LOCAL_FORCE_STATIC_EXECUTABLE := true

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)

#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

LOCAL_MODULE_TAGS := eng

include $(BUILD_EXECUTABLE)


4,编译

$cd android_root

$. build/envsetup.sh

$mmm external/iperf-2.0.4

我没按照其他文档中的提示进行代码的修改,也可以编译,但是会遇到如下错误

error: format not a string literal and no format arguments

这个是由于printf或者fprintf造成的,需要加入一个format string就可以了,例如

fprintf(stderr, usage_long1); -> fprintf(stderr,"%s", usage_long1);

printf(xxxx); -> printf("%s",xxxx);

5, 生成的iperf会加入到xbin目录下


6, 我是如下使用iperf的

TCP

server: iperf -s

client:   iperf -c serverip

UDP

server: iperf -u -s

client:   iperf -u -c serverip -b 100M -i 1 -w 1M -t 20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值