FreeEIM 2013 SDK 部分源码
生活随笔
收集整理的這篇文章主要介紹了
FreeEIM 2013 SDK 部分源码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
FreeEIM 局域網聊天工具是一款全新的整合式企業即時通訊系統,它與外部互聯網徹底隔絕,為企業提供各種基于內部網絡的溝通方法,如語音通訊、文件傳輸、消息發送等。部署 FreeEIM,IT 專業人員只需簡單地在每臺 PC 上安裝并運行 FreeEIM 即可,無需配置服務器,同時快速有效地滿足企業內部協同辦公的各種需求。
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace ANYCHATAPI
{
/***********************************************************************************
? ? * ** AnyChat Platform Server SDK
? ? * *********************************************************************************/
? ? public class AnyChatServerSDK
? ? {
? ?? ???public const string AnyChatServerSDKDll = "AnyChatServerSDK.dll";
? ?? ???// #define BRAS_SERVERAPPMSG_CONNECTED? ?? ?? ?? ?? ? 1? ?? ?? ?? ?? ? ///< 連接AnyChat服務器成功
? ?? ?? ?? ?? ? 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)(DWORD dwMsg, LPVOID lpUserValue);
? ?? ???public delegate void OnServerAppMessageCallBack(int msg, int userValue);
? ?? ?? ?? ?? ? // SDK定時器回調函數定義(上層應用可以在該回調中處理定時任務,而不需要額外開啟線程,或是定時器)
? ?? ?? ?? ?? ? //typedef void (CALLBACK* BRAS_OnTimerEvent_CallBack)(LPVOID lpUserValue);
? ?? ???public delegate void OnTimerEventCallBack(int userValue);
? ?? ?? ?? ?? ? // 用戶身份驗證回調函數定義
? ?? ?? ?? ?? ? // typedef DWORD (CALLBACK* BRAS_VerifyUser_CallBack)(IN LPCTSTR lpUserName,IN LPCTSTR lpPassword, OUT LPDWORD lpUserID, OUT LPDWORD lpUserLevel, 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)(DWORD dwUserId, DWORD dwRoomId, LPCTSTR lpRoomName,LPCTSTR lpPassword, LPVOID lpUserValue);
? ?? ???public delegate int PrepareEnterRoomCallBack(int userId, int roomId, string roomName, string password, int userValue);
? ?? ???// 用戶登錄成功回調函數定義
? ?? ???//typedef void (CALLBACK* BRAS_OnUserLoginAction_CallBack)(DWORD dwUserId, LPCTSTR szUserName, DWORD dwLevel, LPCTSTR szIpAddr, LPVOID lpUserValue);
? ?? ???public delegate void OnUserLoginActionCallBack(int userId, string userName, int level, string addr, int userValue);
? ?? ???// 用戶注銷回調函數定義
? ?? ???//typedef void (CALLBACK* BRAS_OnUserLogoutAction_CallBack)(DWORD dwUserId, LPVOID lpUserValue);
? ?? ???public delegate void OnUserLogoutActionCallBack(int userId, int userValue);
? ?? ???// 用戶進入房間回調函數定義
? ?? ???//typedef void (CALLBACK* BRAS_OnUserEnterRoomAction_CallBack)(DWORD dwUserId, DWORD dwRoomId, LPVOID lpUserValue);
? ?? ???public delegate void OnUserEnterRoomActionCallBack(int userId, int roomId, int userValue);
? ?? ???// 用戶離開房間回調函數定義
? ?? ???//typedef void (CALLBACK* BRAS_OnUserLeaveRoomAction_CallBack)(DWORD dwUserId, DWORD dwRoomId, LPVOID lpUserValue);
? ?? ???public delegate void OnUserLeaveRoomActionCallBack(int userId, int roomId, int userValue);
? ?? ???// 上層業務自定義數據回調函數定義
? ?? ???//typedef void (CALLBACK* BRAS_OnRecvUserFilterData_CallBack)(DWORD dwUserId, LPCTSTR lpBuf, DWORD dwLen, LPVOID lpUserValue);
? ?? ???public delegate void OnRecvUserFilterDataCallBack(int userId, IntPtr buf, int len, int userValue);
? ?? ???// 收到用戶文字聊天通信數據回調函數定義
? ?? ???//typedef void (CALLBACK* BRAS_OnRecvUserTextMsg_CallBack)(DWORD dwRoomId, DWORD dwSrcUserId, DWORD dwTarUserId, BOOL bSecret, LPCTSTR lpTextMessage, DWORD dwLen, LPVOID lpUserValue);
? ?? ???public delegate void OnRecvUserTextMsgCallBack(int roomId, int srcUserId, int tarUserId, bool bSecret, string textMessage, 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, int lpUserValue);
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? // 透明通道數據擴展回調函數定義
? ?? ?? ?? ?? ? //typedef void (CALLBACK * BRAS_OnTransBufferEx_CallBack)(DWORD dwUserId, LPBYTE lpBuf, DWORD dwLen, DWORD wParam, DWORD lParam, DWORD dwTaskId, 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 lpTempFilePath, DWORD dwFileLength, DWORD wParam, DWORD lParam, DWORD dwTaskId, LPVOID lpUserValue);
? ?? ?? ?? ?? ? public delegate void OnTransFileCallBack(int dwUserId, string lpFileName, string lpTempFilePath, int dwFileLength, int wParam, int lParam, int dwTaskId, int lpUserValue);
? ?? ?? ?? ?? ? /**
? ?? ?? ?? ?? ? *? ? API 方法定義
? ?? ?? ?? ?? ? */
? ?? ???// 設置服務器應用程序消息回調函數
? ?? ???//BRAS_API DWORD BRAS_SetOnServerAppMessageCallBack(BRAS_OnServerAppMessage_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnServerAppMessageCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetOnServerAppMessageCallBack(OnServerAppMessageCallBack function, int userValue);
? ?? ???// 設置SDK定時器回調函數(dwElapse:定時器間隔,單位:ms)
? ?? ???// BRAS_API DWORD BRAS_SetTimerEventCallBack(DWORD dwElapse, BRAS_OnTimerEvent_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetTimerEventCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetTimerEventCallBack(int elapse, OnTimerEventCallBack function, int userValue);
? ?? ???// 設置用戶身份驗證回調函數
? ?? ???//BRAS_API DWORD BRAS_SetVerifyUserCallBack(BRAS_VerifyUser_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetVerifyUserCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetVerifyUserCallBack(VerifyUserCallBack function, int userValue);
? ?? ???// 設置用戶申請進入房間回調函數
? ?? ???// BRAS_API DWORD BRAS_SetPrepareEnterRoomCallBack(BRAS_PrepareEnterRoom_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetPrepareEnterRoomCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetPrepareEnterRoomCallBack(PrepareEnterRoomCallBack function, int userValue);
? ?? ???// 設置用戶登錄成功回調函數
? ?? ???//BRAS_API DWORD BRAS_SetOnUserLoginActionCallBack(BRAS_OnUserLoginAction_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnUserLoginActionCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetOnUserLoginActionCallBack(OnUserLoginActionCallBack function, int userValue);
? ?? ???// 設置用戶注銷回調函數
? ?? ???//BRAS_API DWORD BRAS_SetOnUserLogoutActionCallBack(BRAS_OnUserLogoutAction_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnUserLogoutActionCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetOnUserLogoutActionCallBack(OnUserLogoutActionCallBack function, int userValue);
? ?? ???// 設置用戶進入房間回調函數
? ?? ???//BRAS_API DWORD BRAS_SetOnUserEnterRoomActionCallBack(BRAS_OnUserEnterRoomAction_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnUserEnterRoomActionCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetOnUserEnterRoomActionCallBack(OnUserEnterRoomActionCallBack function, int userValue);
? ?? ???// 設置用戶離開房間回調函數
? ?? ???//BRAS_API DWORD BRAS_SetOnUserLeaveRoomActionCallBack(BRAS_OnUserLeaveRoomAction_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnUserLeaveRoomActionCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetOnUserLeaveRoomActionCallBack(OnUserLeaveRoomActionCallBack function, int userValue);
? ?? ???// 設置用戶上層業務自定義數據回調函數
? ?? ???// BRAS_API DWORD BRAS_SetOnRecvUserFilterDataCallBack(BRAS_OnRecvUserFilterData_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnRecvUserFilterDataCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetOnRecvUserFilterDataCallBack(OnRecvUserFilterDataCallBack function, int userValue);
? ?? ???// 設置用戶文字聊天通信數據回調函數
? ?? ???//BRAS_API DWORD BRAS_SetOnRecvUserTextMsgCallBack(BRAS_OnRecvUserTextMsg_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnRecvUserTextMsgCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SetOnRecvUserTextMsgCallBack(OnRecvUserTextMsgCallBack function, int userValue);
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? // 設置透明通道數據回調函數
? ?? ?? ?? ?? ? //BRAS_API DWORD BRAS_SetOnTransBufferCallBack(BRAS_OnTransBuffer_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ?? ?? ?? ? [DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnTransBufferCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ?? ?? ?? ? public static extern int BRAS_SetOnTransBufferCallBack(OnTransBufferCallBack function, int lpUserValue);
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? // 設置透明通道數據擴展回調函數
? ?? ?? ?? ?? ? //BRAS_API DWORD BRAS_SetOnTransBufferExCallBack(BRAS_OnTransBufferEx_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ?? ?? ?? ? [DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnTransBufferExCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ?? ?? ?? ? public static extern int BRAS_SetOnTransBufferExCallBack(OnTransBufferExCallBack function, int lpUserValue);
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? // 設置文件傳輸回調函數
? ?? ?? ?? ?? ? //BRAS_API DWORD BRAS_SetOnTransFileCallBack(BRAS_OnTransFile_CallBack lpFunction, LPVOID lpUserValue=NULL);
? ?? ?? ?? ?? ? [DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SetOnTransFileCallBack", CallingConvention = CallingConvention.Cdecl)]
? ?? ?? ?? ?? ? public static extern int BRAS_SetOnTransFileCallBack(OnTransFileCallBack function, int lpUserValue);
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? // 獲取SDK版本信息
? ?? ?? ?? ?? ? //BRAS_API DWORD BRAS_GetSDKVersion(DWORD& dwMainVer, DWORD& dwSubVer, TCHAR* lpCompileTime, DWORD dwBufLen);
? ?? ?? ?? ?? ? [DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_GetSDKVersion", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_GetSDKVersion(ref int dwMainVer, ref int dwSubVer, StringBuilder lpCompileTime, int bufLen);
? ?? ?? ?? ?? ??
? ?? ???// 初始化SDK
? ?? ???//BRAS_API DWORD BRAS_InitSDK(DWORD dwReserved);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_InitSDK", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_InitSDK(int reserved);
? ?? ???// 釋放資源
? ?? ???//BRAS_API DWORD BRAS_Release(void);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_Release", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_Release();
? ?? ???// 向指定用戶發送數據
? ?? ???//BRAS_API DWORD BRAS_SendBufToUser(DWORD dwUserId, LPCTSTR lpBuf, DWORD dwLen);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SendBufToUser", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SendBufToUser(int userId, byte[] buf, int len);
? ?? ???// 向指定房間的所有用戶發送數據
? ?? ???//BRAS_API DWORD BRAS_SendBufToRoom(DWORD dwRoomId, LPCTSTR lpBuf, DWORD dwLen);
? ?? ???[DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_SendBufToRoom", CallingConvention = CallingConvention.Cdecl)]
? ?? ???public static extern int BRAS_SendBufToRoom(int dwRoomId, byte[] lpBuf, int dwLen);
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? // 向指定用戶發送透明通道數據
? ?? ?? ?? ?? ? //BRAS_API DWORD BRAS_TransBuffer(DWORD dwUserId, LPBYTE lpBuf, DWORD dwLen);
? ?? ?? ?? ?? ? [DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_TransBuffer", CallingConvention = CallingConvention.Cdecl)]
? ?? ?? ?? ?? ? 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& dwTaskId);
? ?? ?? ?? ?? ? [DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_TransBufferEx", CallingConvention = CallingConvention.Cdecl)]
? ?? ?? ?? ?? ? public static extern int BRAS_TransBufferEx(int dwUserId, byte[] lpBuf, int dwLen, int wParam, int lParam, int dwFlags, ref int dwTaskId);
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ? // 向指定用戶發送文件
? ?? ?? ?? ?? ? //BRAS_API DWORD BRAS_TransFile(DWORD dwUserId, LPCTSTR lpLocalPathName, DWORD wParam, DWORD lParam, DWORD dwFlags, DWORD& dwTaskId);
? ?? ?? ?? ?? ? [DllImport(AnyChatServerSDKDll, EntryPoint = "BRAS_TransFile", CallingConvention = CallingConvention.Cdecl)]
? ?? ?? ?? ?? ? public static extern int BRAS_TransFile(int dwUserId, string lpLocalPathName, int wParam, int lParam, int dwFlags, ref int dwTaskId);
? ?? ?? ?? ?? ??
? ?? ?? ?? ?? ??
? ? }
} 復制代碼
FreeEIM 飛鴿傳書?
http://www.wzszf.com/thread-18900-1-1.html
總結
以上是生活随笔為你收集整理的FreeEIM 2013 SDK 部分源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谁不在清了的飞鸽传书
- 下一篇: Python中的错误处理