using System;using System.Text;using System.Runtime.InteropServic es;namespace ANYCHATAPI
{
/******************************************************************************
*****
* **AnyChat Platform Server SDK
*
*******************************************************************************
**/public class AnyChatServerSDK
{public const string AnyChatServerSDKDll="AnyChatServerSDK.dll";
//#define BRAS_SERVERAPPMSG_CONNECTED 1 ///< 连 接AnyCh at服务器成功public const int BRAS_SERVERAPPMSG_CONNECTED=1;
//#define BRAS_SERVERAPPMSG_DISCONNECT 2 ///< 与 AnyChat服务器断开连接public const int BRAS_SERVERAPPMSG_DISCONNECT=2;
/**
* 回调函数定义
*/
//服务器应用程序消息回调函数定义
//typedef void (CALLBACK* BRAS_OnServerAppMessage_CallBack)(DWORDdwMsg,LPVOID lpUserValue);public delegate void OnServerAppMessageCallBack(int msg, int userValue);
// SDK定时器回调函数定义上层应用可以在该回调中处理定时任务而不需要额外开启线程或是定时器
//typedef void (CALLBACK* BRAS_OnTimerEvent_CallBack)(LPVOIDlp Us erValue);public delegate void OnTimerEventCallBack(int userValue);
//用户身份验证回调函数定义
// typedef DWORD (CALLBACK* BRAS_VerifyUser_CallBack)(IN LPCTSTRlpUserName,IN LPCTSTR lpPassword, OUT LPDWORD lpUserID, OUT LPDWORDlpUserLevel,OUT LPTSTR lpNickName,IN DWORD dwNCLen,LPVOID lpUserValue);public delegate int VerifyUserCallBack(string userName, string password, ref int userID,
ref int userLevel, IntPtr nickName, int len,int userValue);
//用户申请进入房间回调函数定义
//typedef DWORD (CALLBACK* BRAS_PrepareEnterRoom_CallBack)(DWORDdwUserId, DWORD dwRoomId, LPCTSTR lpRoomName,LPCTSTR lpPassword, LPVOIDlp Us erValue);public delegate int PrepareEnterRoomCallBack(int userId, int roomId, string roomName,string pas sword, int userValue);
//用户登录成功回调函数定义
//typedef void (CALLBACK* BRAS_OnUserLoginAction_CallBack)(DWORDdwUserId, LPCTSTR szUserName, DWORD dwLevel, LPCTSTR szIpAddr, LPVOIDlp Us erValue);public delegate void OnUserLoginActionCallBack(int userId, string userName, int level,string addr, int us erValue);
//用户注销回调函数定义
//typedef void (CALLBACK* BRAS_OnUserLogoutAction_CallBack)(DWORDdwUserId,LPVOID lpUserValue);public delegate void OnUserLogoutActionCallBack(int userId, int userValue);
//用户进入房间回调函数定义
//typedef void (CALLBACK* BRAS_OnUserEnterRoomAction_CallBack)(DWORDdwUserId,DWORD dwRoomId,LPVOID lpUserValue);public delegate void OnUserEnterRoomActionCallBack(int userId, int roomId, intuserValue);
//用户离开房间回调函数定义
//typedef void (CALLBACK* BRAS_OnUserLeaveRoomAction_CallBack)(DWORDdwUserId,DWORD dwRoomId,LPVOID lpUserValue);public delegate void OnUserLeaveRoomActionCallBack(int userId, int roomId, intuserValue);
//上层业务自定义数据回调函数定义
//typedef void (CALLBACK* BRAS_OnRecvUserFilterData_CallBack)(DWORDdwUserId,LPCTSTR lpBuf,DWORD dwLen,LPVOID lpUserValue);public delegate void OnRecvUserFilterDataCallBack(int userId, IntPtr buf, int len, intuserValue);
//收到用户文字聊天通信数据回调函数定义
//typedef void (CALLBACK* BRAS_OnRecvUserTextMsg_CallBack)(DWORDdwRoomId, DWORD dwSrcUserId, DWORD dwTarUserId, BOOL bSecret, LPCTSTRlpTextMessage,DWORD dwLen,LPVOID lpUserValue);public delegate void OnRecvUserTextMsgCallBack(int roomId, int srcUserId, int
tarUserId,bool bSecret, string textMes sage, int len, int userValue);
//透明通道数据回调函数定义
//typedef void(CALLBACK*BRAS_OnTransBuffer_CallBack)(DWORD dwUserId,LPBYTE lpBuf,DWORD dwLen,LPVOID lpUserValue);public delegate void OnTransBufferCallBack(int dwUserId, IntPtr lpBuf, int dwLen, intlp Us erValue);
//透明通道数据扩展回调函数定义
//typedef void (CALLBACK * BRAS_OnTransBufferEx_CallBack)(DWORDdwUserId,LPBYTE lpBuf,DWORD dwLen,DWORD wParam,DWORD lParam,DWORDdwTaskId,LPVOID lpUserValue);public delegate void OnTransBufferExCallBack(int dwUserId, IntPtr lpBuf, int dwLen,int wParam, int lParam, int dwTaskId, int lpUserValue);
//文件传输回调函数定义
//typedef void (CALLBACK* BRAS_OnTransFile_CallBack)(DWORD dwUserId,LPCTSTR lpFileName,LPCTSTR lpTempF ilePath,DWORD dwFileLength,DWORD wParam,DWORD lParam,DWORD dwTaskId,LPVOID lpUserValue);public delegate void OnTransFileCallBack(int dwUserId, string lpFileName, stringlpTempFilePath, int dwFile Length, int wParam, int lParam, int dwTaskId, int lpUs er Value);
/**
* API方法定义
*/
//设置服务器应用程序消息回调函数
//BRAS_API DWORD
BRAS_SetOnServerAppMessageCallBack(BRAS_OnServerAppMessage_CallBack lpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erver S D KD ll, EntryP oint ="BRAS_SetOnServerAppMes sageCallBack",CallingConv ention=CallingConvention.Cdec l)]public static extern intBRAS_SetOnServerAppMessageCallBack(OnServerAppMessageCallBack function, intuserValue);
//设置SDK定时器回调函数dwElapse定时器间隔单位ms
// BRAS_API DWORD BRAS_SetTimerEventCallBack(DWORD dwElapse,BRAS_OnTimerEvent_CallBack lpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erverSD KD ll, EntryPo int = "BRAS_S etTimer EventCallBac k",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_SetTimerEventCallBack(int elapse,OnTimerEventCallBack function, int userValue);
//设置用户身份验证回调函数
//BRAS_API DWORD BRAS_SetVerifyUserCallBack(BRAS_VerifyUser_CallBacklpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erverSD KD ll, EntryPoint = "BRAS_S etVer ifyUs erCallBac k",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_SetVerifyUserCallBack(VerifyUserCallBack function, intuserValue);
//设置用户申请进入房间回调函数
// BRAS_API DWORD
BRAS_SetPrepareEnterRoomCallBack(BRAS_PrepareEnterRoom_CallBack lpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erverSD KD ll, EntryPoint ="BRAS_SetPrepareEnterRoomCallBack",CallingConvention=CallingConvention.Cdec l)]public static extern intBRAS_SetPrepareEnterRoomCallBack(PrepareEnterRoomCallBack function, int us erValue);
//设置用户登录成功回调函数
//BRAS_API DWORD
BRAS_SetOnUserLoginActionCallBack(BRAS_OnUserLoginAction_CallBack lpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erver S D KD ll, EntryP oint ="BRAS_SetOnUserLog inActionCallBack",Calling Convention=CallingConv ention.Cdecl)]public static extern intBRAS_SetOnUserLoginActionCallBack(OnUserLoginActionCallBack function, int userValue);
//设置用户注销回调函数
//BRAS_API DWORD
BRAS_SetOnUserLogoutActionCallBack(BRAS_OnUserLogoutAction_CallBack lpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erver S D KD ll, EntryP oint ="BRAS_SetOnUserLogoutActionCallBack",Calling Convention=CallingConv ention.Cdec l)]public static extern intBRAS_SetOnUs erLogoutActionCallBack(OnUs erLogoutActionCallBack function, int us erValue);
//设置用户进入房间回调函数
//BRAS_API DWORD
BRAS_SetOnUserEnterRoomActionCallBack(BRAS_OnUserEnterRoomAction_CallBacklpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erver S D KD ll, EntryP oint ="BRAS_SetOnUserEnterRoomAction CallBack",CallingConvention=CallingConv ention.Cdec l)]public static extern intBRAS_SetOnUserEnterRoomActionCallBack(OnUserEnterRoomActionCallBack function, int
userValue);
//设置用户离开房间回调函数
//BRAS_API DWORD
BRAS_SetOnUserLeaveRoomActionCallBack(BRAS_OnUserLeaveRoomAction_CallBacklpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erver S D KD ll, EntryP oint ="BRAS_SetOnUserLeaveRoomActionCallBack", Calling Convention =Calling Convention.Cdec l)]public static extern intBRAS_SetOnUserLeaveRoomActionCallBack(OnUserLeaveRoomActionCallBack function, intuserValue);
//设置用户上层业务自定义数据回调函数
// BRAS_API DWORD
BRAS_SetOnRecvUserFilterDataCallBack(BRAS_OnRecvUserFilterData_CallBack lpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erver S D KD ll, EntryP oint ="BRAS_SetOnRecvUs erFilterDataCallBack",Calling Convention=CallingConv ention.Cdec l)]public static extern intBRAS_SetOnRecvUserFilterDataCallBack(OnRecvUserFilterDataCallBack function, intuserValue);
//设置用户文字聊天通信数据回调函数
//BRAS_API DWORD
BRAS_SetOnRecvUserTextMsgCallBack(BRAS_OnRecvUserTextMsg_CallBack lpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erver S D KD ll, EntryP oint ="BRAS_SetOnRecvUs erTextMsgCallBack",Calling Convention=CallingConvention.Cdec l)]public static extern intBRAS_S etOnRecvUs erTextMs gCallBack(OnRecvUs erTextMs gCallBack function, int us erValue);
//设置透明通道数据回调函数
//BRAS_API DWORD
BRAS_SetOnTransBufferCallBack(BRAS_OnTransBuffer_CallBack lpFunction, LPVOIDlp Us er Value=NULL);
[DllImport(AnyChatS erverSD KD ll,EntryPoint="BRAS_S etOnTransBufferCallBac k",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_SetOnTransBufferCallBack(OnTransBufferCallBackfunc tion, int lpUs er Value);
//设置透明通道数据扩展回调函数
//BRAS_API DWORD
BRAS_SetOnTransBufferExCallBack(BRAS_OnTransBufferEx_CallBack lpFunction, LPVOIDlp Us er Value=NULL);
[DllImport(AnyChatS erver S D KD ll, EntryP oint ="BRAS_SetOnTransBufferExCallBack",CallingConvention=Calling Convention.Cdec l)]public static extern intBRAS_SetOnTransBufferExCallBack(OnTransBufferExCallBack function, int lpUserValue);
//设置文件传输回调函数
//BRAS_API DWORD BRAS_SetOnTransFileCallBack(BRAS_OnTransFile_CallBacklpFunction,LPVOID lpUserValue=NULL);
[DllImport(AnyChatS erverSD KD ll, EntryPoint = "BRAS_S etOnTransFileCallBac k",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_SetOnTransFileCallBack(OnTransFileCallBack function,int lpUserValue);
//获取SDK版本信息
//BRAS_API DWORD BRAS_GetSDKVersion(DWORD& dwMainVer, DWORD&dw SubVer,TCHAR* lp CompileTime,DWORD dwBufLen);
[DllImport(AnyChatS erverSD KD ll, EntryPo int = "BRAS_GetSD KVers ion",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_GetSDKVersion(ref int dwMainVer, ref int dwSubVer,StringBuilder lp Comp ileTime, int bufLen);
//初始化SDK
//BRAS_API DWORD BRAS_InitSDK(DWORD dwReserved);
[DllImport(AnyChatS erverSD KD ll,EntryPoint="BRAS_In itSDK",CallingConvent ion=CallingConvention.Cdec l)]public static extern int BRAS_InitSDK(int reserved);
//释放资源
//BRAS_API DWORD BRAS_Release(void);
[DllImport(AnyChatS erverSD KD ll,EntryPoint="BRAS_Re leas e",CallingConvention=CallingConvention.Cdec l)]public static extern int BRAS_Release();
//向指定用户发送数据
//BRAS_API DWORD BRAS_SendBufToUser(DWORD dwUserId,LPCTSTR lpBuf,DWORD dwLen);
[DllImport(AnyChatS erverSD KD ll, EntryPoint = "BRAS_S endBufToUs er",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_SendBufToUser(int userId,byte[]buf, int len);
//向指定房间的所有用户发送数据
//BRAS_API DWORD BRAS_SendBufToRoom(DWORD dwRoomId, LPCTSTRlp Buf,DWORD dwLen);
[DllImport(AnyChatS erverSD KD ll, EntryPoint = "BRAS_S endBufToRoom",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_SendBufToRoom(int dwRoomId, byte[] lpBuf, intdw Len);
// 向指定用户发送透明通道数据
//BRAS_API DWORD BRAS_TransBuffer(DWORD dwUserId, LPBYTE lpBuf,DWORD dwLen);
[DllImport(AnyChatS erverSD KD ll, EntryPoint = "BRAS_TransBuffer",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_TransBuffer(int dwUserId,byte[] lpBuf, int dwLen);
// 向指定用户发送扩展缓冲区数据
//BRAS_API DWORD BRAS_TransBufferEx(DWORD dwUserId, LPBYTE lpBuf,DWORD dwLen, DWORD wParam, DWORD lParam, DWORD dwFlags, DWORD&dw Tas kI d);
[DllImport(AnyChatS erverSD KD ll, EntryPoint = "BRAS_TransBufferEx",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_TransBufferEx(int dwUserId,byte[] lpBuf, int dwLen, intwParam, int lParam, int dwFlags,ref int dwTaskId);
// 向指定用户发送文件
//BRAS_API DWORD BRAS_TransFile(DWORD dwUserId, LPCTSTRlpLocalPathName, DWORD wParam, DWORD lParam, DWORD dwFlags, DWORD&dw Tas kI d);
[DllImport(AnyChatS erverSD KD ll, EntryPoint = "BRAS_Trans File",Calling Convention=CallingConvention.Cdec l)]public static extern int BRAS_TransFile(int dwUserId, string lpLocalPathName, intwParam, int lParam, int dwFlags,ref int dwTaskId);
}
}
SDK包android http://pan.baidu.c om/share/link?share id=441352&uk=2720497303w indow s:http://pan.baidu.c om/share/link?shareid=441348&uk=2720497303
Linux http://p an.b a idu.c om/s hare/link?s har eid=441349&uk=2720497303
I O S http://pan.baidu.c om/s hare/link?s hareid=441350&uk=2720497303
我们先普及一下常识吧,每年9月的第一个星期一是美国劳工节。于是,有一些服务商会基于这些节日推出吸引用户的促销活动,比如RackNerd有推出四款洛杉矶和犹他州独立服务器,1G带宽、5个独立IP地址,可以配置Windows和Linux系统,如果有需要独立服务器的可以看看。第一、劳工节促销套餐这里有提供2个套餐。两个方案是选择犹他州的,有2个方案是可以选择洛杉矶机房的。CPU内存SSD硬盘配置流量价格...
昨天我们很多小伙伴们应该都有看到,包括有隔壁的一些博主们都有发布Vultr商家新的新用户注册福利活动。以前是有赠送100美元有效期30天的,这次改成有效期14天。早年才开始的时候有效期是60天的,这个是商家行为,主要还是吸引到我们后续的充值使用,毕竟他们的体验金赠送,在同类商家中算是比较大方的。昨天活动内容:重新调整Vultr新注册用户赠送100美元奖励金有效期14天今天早上群里的朋友告诉我,两年...
BuyVM商家属于比较老牌的服务商,早年有提供低价年付便宜VPS主机还记得曾经半夜的时候抢购的。但是由于这个商家风控非常严格,即便是有些是正常的操作也会导致被封账户,所以后来陆续无人去理睬,估计被我们风控的抢购低价VPS主机已经手足无措。这两年商家重新调整,而且风控也比较规范,比如才入手他们新上线的流媒体优化VPS主机也没有不适的提示。目前,BuyVM商家有提供新泽西、迈阿密等四个机房的VPS主机...