Proxy-Go 全平台 SDK是proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各种形式的代理工具。 此次更新: 1.修复了多个服务同时开启日志,只会输出到最后一个日志文件的bug. 2.增加了获取sdk版本的Version()方法. 3.重构了所有服务的启动代码对日志进行友好的支持。 Proxy SDK 使用说明支持以下平台:
proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各种形式的代理工具。 下面分平台介绍SDK的用法Android SDK点击下载Android-SDK Android-SDK使用实例1.导入包import snail007.proxy.Porxy 2.启动一个服务String serviceID="http01";//这里serviceID是自定义的唯一标识字符串,保证每个启动的服务不一样即可 String serviceArgs="http -p :8080"; String err=Proxy.start(serviceID,serviceArgs); if (!err.isEmpty()){ //启动失败 System.out.println("start fail,error:"+err); }else{ //启动成功 } 3.停止一个服务String serviceID="http01"; Proxy.stop(serviceID); //停止完毕 IOS SDK点击下载IOS-SDK IOS-SDK使用实例导入包#import <Proxy/Proxy.objc.h> 2.启动一个服务-(IBAction)doStart:(id)sender { //这里serviceID是自定义的唯一标识字符串,保证每个启动的服务不一样 NSString *serviceID = @"http01"; NSString *serviceArgs = @"http -p :8080"; NSString *error = ProxyStart(serviceID,serviceArgs); if (error != nil && error.length > 0) { NSLog(@"start error %@",error); }else{ NSLog(@"启动成功"); } } 3.停止一个服务-(IBAction)doStop:(id)sender { NSString *serviceID = @"http01"; ProxyStop(serviceID); //停止完毕 } Windows SDK点击下载Windows-SDK Windows-SDK使用实例C++示例,不需要包含头文件,只需要加载proxy-sdk.dll即可,ieshims.dll需要和proxy-sdk.dll在一起。 #include <stdio.h> #include<stdlib.h> #include <string.h> #include<pthread.h> #include<Windows.h> #ifdef __cplusplus extern "C" { #endif typedef char *(*GOSTART)(char *s); typedef char *(*GOSTOP)(char *s); typedef int(*GOISRUN)(char *s); HMODULE GODLL = LoadLibrary("proxy-sdk.dll"); char * Start(char * p0,char * p1) { if (GODLL != NULL) { GOSTART gostart = *(GOSTART)(GetProcAddress(GODLL, "Start")); if (gostart != NULL){ printf("%s:%s\n",p0, p1); char *ret = gostart(p0,p1); return ret; } } return "Cannot Find dll"; } char * Stop(char * p) { if (GODLL != NULL) { GOSTOP gostop = *(GOSTOP)(GetProcAddress(GODLL, "Stop")); if (gostop != NULL){ printf("%s\n", p); char *ret = gostop(p); return ret; } } return "Cannot Find dll"; } int main() { //这里p0是自定义的唯一标识字符串,保证每个启动的服务不一样 char *p0 = "http01"; char *p1 = "http -t tcp -p :38080"; printf("This is demo application.\n"); //启动服务,返回空字符串说明启动成功;返回非空字符串说明启动失败,返回的字符串是错误原因 printf("start result %s\n", Start(p0,p1)); //停止服务,没有返回值 Stop(p0); return 0; } #ifdef __cplusplus } #endif C++示例2,请移步:GoProxyForC Linux SDK点击下载Linux-SDK Linux-SDK使用实例Linux下面使用的sdk是so文件即libproxy-sdk.so,下面写一个简单的C程序示例,调用so库里面的方法. vi test-proxy.c
|