123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- #ifndef __TYPHOON_SERVER_H__
- #define __TYPHOON_SERVER_H__
- #include "stdint.h"
- #include "TyphoonProduct.h"
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- #ifdef _WIN32
- #ifdef TYPHOON_SOCKS_DLL_IMPLEMENT
- #define TYPHOON_SERVER_EXTERN __declspec(dllexport)
- #else
- #ifdef _STATIC_LIB_
- #define TYPHOON_SERVER_EXTERN
- #else
- #define TYPHOON_SERVER_EXTERN __declspec(dllimport)
- #endif
- #endif
- #define TYPHOON_STDCALL __stdcall
- #else
- #define TYPHOON_SERVER_EXTERN /* nothing */
- #define TYPHOON_STDCALL
- #endif
- typedef void (TYPHOON_STDCALL *TyphoonServerProxy_OnConnected)(void *pHandle, const char *userData, int userDataLen);
- typedef void (TYPHOON_STDCALL *TyphoonServerProxy_OnDisConnected)(void *pHandle);
- typedef struct TyphoonServerProxyConnectionStatusCb
- {
- TyphoonServerProxy_OnConnected pfnOnConnected;
- TyphoonServerProxy_OnDisConnected pfnOnDisConnected;
- }stTyphoonServerProxyConnectionStatusCb;
- struct InitServerPrama{
- char* listenAddr;
- uint32_t listenPort;
- uint32_t minSpeed;
- uint32_t maxSpeed;
- int logId;
- char *logPath;
- char *licensePath;
- char* caPath;
- TyphoonAppId_E licenseType;
- char* license;
- bool bUdpGSO;
- int32_t MaxSegmentSize;
- bool bSdnOn;
- void *rootsData;
- int rootsDataLen;
- int FecPercent;
- bool bCompress;
- };
- /*
- * 初始化代理服务器
- * 参数:
- * param:输入参数结构体
- * 返回值:
- * 0成功,非0失败
- */
- TYPHOON_SERVER_EXTERN int TyphoonProxy_InitServer(InitServerPrama *param);
- /*
- * 去初始化代理服务器
- * 参数:
- * 无
- * 返回值:
- * 0成功,非0失败
- */
- TYPHOON_SERVER_EXTERN int TyphoonProxy_UninitServer();
- TYPHOON_SERVER_EXTERN uint64_t TyphoonProxy_GetNodeId();
- TYPHOON_SERVER_EXTERN void * TyphoonProxy_GetServerInstance();
- TYPHOON_SERVER_EXTERN void TyphoonProxy_writeLog(const char * fileName,
- const char * funcName,
- unsigned int line,
- unsigned int level,
- const char * format,
- ...);
- TYPHOON_SERVER_EXTERN int TyphoonProxy_RestartSdnRoot(void *rootsData, int rootsDataLen);
- TYPHOON_SERVER_EXTERN int TyphoonProxy_CheckSdnIsOnline();
- TYPHOON_SERVER_EXTERN void TyphoonServerProxy_SetConnectionStatusCb(stTyphoonServerProxyConnectionStatusCb Cb);
- TYPHOON_SERVER_EXTERN stTyphoonServerProxyConnectionStatusCb TyphoonServerProxy_GetConnectionStatusCb();
- /*
- * 设置 sdn tcp 转发端口
- * 参数:
- * port:端口号
- * 返回值:
- * 无
- */
- TYPHOON_SERVER_EXTERN void TyphoonProxy_SetSDNLocalTcpProxyPort(uint16_t port);
- /*
- * 设置 stun 服务器地址,必须在服务器初始化之前设置才能生效
- * 参数:
- * stun_server:stun 服务器地址
- * stun_port:stun 端口号
- * 返回值:
- * 无
- */
- TYPHOON_SERVER_EXTERN void TyphoonProxy_SetStunServer(const char*stun_server, uint16_t stun_port);
- /*
- * 设置 tcp 转发服务器地址,必须在服务器初始化之前设置才能生效
- * 参数:
- * tcp_relay_server:tcp 转发服务器地址
- * tcp_relay_port:tcp 转发服务器端口号
- * 返回值:
- * 无
- */
- TYPHOON_SERVER_EXTERN void TyphoonProxy_SetTcpRelayServer(const char*tcp_relay_server, uint16_t tcp_relay_port);
- /*
- * 设置 p2p 使用多服务器ip同时发送
- * 参数:
- * isMultiSend:1 开启,0 关闭
- * 返回值:
- * 无
- */
- TYPHOON_SERVER_EXTERN void TyphoonProxy_SetMultiSendToServer(int isMultiSend);
- /*
- * 获取SDN Root 服务器地址
- * 参数:
- * buf: 地址buff
- * 返回值:
- * 0成功,非0失败
- */
- TYPHOON_SERVER_EXTERN int TyphoonProxy_GetSDNRelayRootAddress(char *buf);
- #ifdef __cplusplus
- }
- #endif
- #endif
|