Esempio n. 1
0
 /// <summary>
 /// 获取 Socket 缓存池大小
 /// </summary>
 /// <returns></returns>
 public uint GetFreeSocketObjPool()
 {
     return(HPSocketSdk.HP_Agent_GetFreeSocketObjPool(pAgent));
 }
Esempio n. 2
0
 /// <summary>
 /// 获取连接中未发出数据的长度
 /// </summary>
 /// <param name="connId"></param>
 /// <param name="length"></param>
 /// <returns></returns>
 public bool GetPendingDataLength(IntPtr connId, ref int length)
 {
     return(HPSocketSdk.HP_Agent_GetPendingDataLength(pAgent, connId, ref length));
 }
Esempio n. 3
0
 /// <summary>
 /// 调用系统的 ::WSAGetLastError() 方法获取通信错误代码
 /// </summary>
 /// <returns></returns>
 public int SYSWSAGetLastError()
 {
     return(HPSocketSdk.SYS_WSAGetLastError());
 }
Esempio n. 4
0
 /// <summary>
 /// 名称:发送小文件
 /// 描述:向指定连接发送 4096 KB 以下的小文件
 /// </summary>
 /// <param name="connId"></param>
 /// <param name="filePath">文件路径</param>
 /// <param name="head">头部附加数据</param>
 /// <param name="tail">尾部附加数据</param>
 /// <returns>TRUE.成功,FALSE.失败,可通过 SYSGetLastError() 获取 Windows 错误代码</returns>
 public bool SendSmallFile(IntPtr connId, string filePath, ref WSABUF head, ref WSABUF tail)
 {
     return(HPSocketSdk.HP_TcpAgent_SendSmallFile(pAgent, connId, filePath, ref head, ref tail));
 }
Esempio n. 5
0
 /// <summary>
 /// 断开超过指定时长的静默连接
 /// </summary>
 /// <param name="period">毫秒</param>
 /// <param name="force">强制</param>
 /// <returns></returns>
 public bool DisconnectSilenceConnections(uint period, bool force = true)
 {
     return(HPSocketSdk.HP_Agent_DisconnectSilenceConnections(pAgent, period, force));
 }
Esempio n. 6
0
 /// <summary>
 /// 连接服务器,连接成功后 IAgentListener 会接收到 OnConnect() 事件
 /// </summary>
 /// <param name="address"></param>
 /// <param name="port"></param>
 /// <param name="connId"></param>
 /// <returns></returns>
 public bool Connect(string address, ushort port, ref IntPtr connId)
 {
     return(HPSocketSdk.HP_Agent_Connect(pAgent, address, port, ref connId));
 }
Esempio n. 7
0
 /// <summary>
 /// 发送数据
 /// </summary>
 /// <param name="connId"></param>
 /// <param name="bufferPtr"></param>
 /// <param name="offset">针对bufferPtr的偏移</param>
 /// <param name="size">发多大</param>
 /// <returns></returns>
 public bool Send(IntPtr connId, IntPtr bufferPtr, int offset, int size)
 {
     return(HPSocketSdk.HP_Agent_SendPart(pAgent, connId, bufferPtr, size, offset));
 }
Esempio n. 8
0
 /// <summary>
 /// 获取数据发送策略
 /// </summary>
 /// <param name="pAgent"></param>
 /// <returns></returns>
 public SendPolicy GetSendPolicy()
 {
     return(HPSocketSdk.HP_Agent_GetSendPolicy(pAgent));
 }
Esempio n. 9
0
 /// <summary>
 /// 设置数据接收策略
 /// </summary>
 /// <param name="enSendPolicy"></param>
 public void SetRecvPolicy(RecvPolicy policy)
 {
     HPSocketSdk.HP_Agent_SetRecvPolicy(pAgent, policy);
 }
Esempio n. 10
0
 /// <summary>
 /// 获取关闭服务前等待连接关闭的最长时限
 /// </summary>
 /// <returns></returns>
 public uint GetMaxShutdownWaitTime()
 {
     return(HPSocketSdk.HP_Agent_GetMaxShutdownWaitTime(pAgent));
 }
Esempio n. 11
0
 /// <summary>
 /// 设置数据发送策略
 /// </summary>
 /// <param name="enSendPolicy"></param>
 public void SetSendPolicy(SendPolicy policy)
 {
     HPSocketSdk.HP_Agent_SetSendPolicy(pAgent, policy);
 }
Esempio n. 12
0
 /// <summary>
 /// 获取心跳检查间隔
 /// </summary>
 /// <returns></returns>
 public uint GetKeepAliveInterval()
 {
     return(HPSocketSdk.HP_TcpAgent_GetKeepAliveInterval(pAgent));
 }
Esempio n. 13
0
 /// <summary>
 /// 获取心跳检查次数
 /// </summary>
 /// <returns></returns>
 public uint GetKeepAliveTime()
 {
     return(HPSocketSdk.HP_TcpAgent_GetKeepAliveTime(pAgent));
 }
Esempio n. 14
0
 /// <summary>
 /// 获取内存块缓存池回收阀值
 /// </summary>
 /// <returns></returns>
 public uint GetFreeBufferObjHold()
 {
     return(HPSocketSdk.HP_Agent_GetFreeBufferObjHold(pAgent));
 }
Esempio n. 15
0
 /// <summary>
 /// 调用系统的 ioctlsocket()
 /// </summary>
 /// <param name="sock"></param>
 /// <param name="cmd"></param>
 /// <param name="arg"></param>
 /// <returns></returns>
 ///
 public int SYSIoctlSocket(IntPtr sock, long cmd, IntPtr arg)
 {
     return(HPSocketSdk.SYS_IoctlSocket(sock, cmd, arg));
 }
Esempio n. 16
0
 /// <summary>
 /// 获取数据接收策略
 /// </summary>
 /// <param name="pAgent"></param>
 /// <returns></returns>
 public RecvPolicy GetRecvPolicy()
 {
     return(HPSocketSdk.HP_Agent_GetRecvPolicy(pAgent));
 }
Esempio n. 17
0
 /// <summary>
 /// 调用系统的 ::WSAIoctl()
 /// </summary>
 /// <param name="sock"></param>
 /// <param name="dwIoControlCode"></param>
 /// <param name="lpvInBuffer"></param>
 /// <param name="cbInBuffer"></param>
 /// <param name="lpvOutBuffer"></param>
 /// <param name="cbOutBuffer"></param>
 /// <param name="lpcbBytesReturned"></param>
 /// <returns></returns>
 public int SYS_WSAIoctl(IntPtr sock, uint dwIoControlCode, IntPtr lpvInBuffer, uint cbInBuffer,
                         IntPtr lpvOutBuffer, uint cbOutBuffer, uint lpcbBytesReturned)
 {
     return(HPSocketSdk.SYS_WSAIoctl(sock, dwIoControlCode, lpvInBuffer, cbInBuffer,
                                     lpvOutBuffer, cbOutBuffer, lpcbBytesReturned));
 }
Esempio n. 18
0
 public virtual void SetOnConnectCallback(HPSocketSdk.OnConnect connect)
 {
     OnConnectCallback = connect == null ? null : new HPSocketSdk.OnConnect(connect);
     HPSocketSdk.HP_Set_FN_Agent_OnConnect(pListener, OnConnectCallback);
 }
Esempio n. 19
0
 /// <summary>
 /// 发送数据
 /// </summary>
 /// <param name="connId"></param>
 /// <param name="bytes"></param>
 /// <param name="offset">针对bytes的偏移</param>
 /// <param name="size">发多大</param>
 /// <returns></returns>
 public bool Send(IntPtr connId, byte[] bytes, int offset, int size)
 {
     return(HPSocketSdk.HP_Agent_SendPart(pAgent, connId, bytes, size, offset));
 }
Esempio n. 20
0
 public virtual void SetOnSendCallback(HPSocketSdk.OnSend send)
 {
     OnSendCallback = send == null ? null : new HPSocketSdk.OnSend(send);
     HPSocketSdk.HP_Set_FN_Server_OnSend(pListener, OnSendCallback);
 }
Esempio n. 21
0
 /// <summary>
 /// 发送多组数据
 /// 向指定连接发送多组数据
 /// TCP - 顺序发送所有数据包
 /// </summary>
 /// <param name="connId">连接 ID</param>
 /// <param name="pBuffers">发送缓冲区数组</param>
 /// <param name="iCount">发送缓冲区数目</param>
 /// <returns>TRUE.成功,FALSE.失败,可通过 SYSGetLastError() 获取 Windows 错误代码</returns>
 public bool SendPackets(IntPtr connId, WSABUF[] pBuffers, int count)
 {
     return(HPSocketSdk.HP_Agent_SendPackets(pAgent, connId, pBuffers, count));
 }
Esempio n. 22
0
 public virtual void SetOnReceiveCallback(HPSocketSdk.OnReceive recv)
 {
     OnReceiveCallback = recv == null ? null : new HPSocketSdk.OnReceive(recv);
     HPSocketSdk.HP_Set_FN_Server_OnReceive(pListener, OnReceiveCallback);
 }
Esempio n. 23
0
 /// <summary>
 /// 断开某个连接
 /// </summary>
 /// <param name="connId"></param>
 /// <param name="force">强制</param>
 /// <returns></returns>
 public bool Disconnect(IntPtr connId, bool force = true)
 {
     return(HPSocketSdk.HP_Agent_Disconnect(pAgent, connId, force));
 }
Esempio n. 24
0
 public virtual void SetOnErrorCallback(HPSocketSdk.OnError error)
 {
     OnErrorCallback = error == null ? null : new HPSocketSdk.OnError(error);
     HPSocketSdk.HP_Set_FN_Server_OnError(pListener, OnErrorCallback);
 }
Esempio n. 25
0
 /// <summary>
 /// 获取附加数据
 /// 如设置的是个结构体/类对象,可以用 Type objA = (Type)Marshal.PtrToStructure(ptr, typeof(Type)) 获取
 /// 其中Type是结构体/类名,ptr是该方法的传出值,在该方法返回为true的时候可用
 /// </summary>
 /// <param name="connId"></param>
 /// <param name="ptr"></param>
 /// <returns></returns>
 public bool GetConnectionExtra(IntPtr connId, ref IntPtr ptr)
 {
     return(HPSocketSdk.HP_Agent_GetConnectionExtra(pAgent, connId, ref ptr) && ptr != IntPtr.Zero);
 }
Esempio n. 26
0
 public virtual void SetOnCloseCallback(HPSocketSdk.OnClose close)
 {
     OnCloseCallback = close == null ? null : new HPSocketSdk.OnClose(close);
     HPSocketSdk.HP_Set_FN_Server_OnClose(pListener, OnCloseCallback);
 }
Esempio n. 27
0
 /// <summary>
 /// 获取某个连接静默时间(毫秒)
 /// </summary>
 /// <param name="connId"></param>
 /// <param name="period"></param>
 /// <returns></returns>
 public bool GetSilencePeriod(IntPtr connId, ref uint period)
 {
     return(HPSocketSdk.HP_Agent_GetSilencePeriod(pAgent, connId, ref period));
 }
Esempio n. 28
0
 public virtual void SetOnShutdownCallback(HPSocketSdk.OnShutdown shutdown)
 {
     OnShutdownCallback = shutdown == null ? null : new HPSocketSdk.OnShutdown(shutdown);
     HPSocketSdk.HP_Set_FN_Agent_OnShutdown(pListener, OnShutdownCallback);
 }
Esempio n. 29
0
 /// <summary>
 /// 调用系统的 setsockopt()
 /// </summary>
 /// <param name="sock"></param>
 /// <param name="level"></param>
 /// <param name="name"></param>
 /// <param name="val"></param>
 /// <param name="len"></param>
 /// <returns></returns>
 ///
 public int SYS_SetSocketOption(IntPtr sock, int level, int name, IntPtr val, int len)
 {
     return(HPSocketSdk.SYS_SetSocketOption(sock, level, name, val, len));
 }
Esempio n. 30
0
 /// <summary>
 /// 获取 Socket 缓存对象锁定时间
 /// </summary>
 /// <returns></returns>
 public uint GetFreeSocketObjLockTime()
 {
     return(HPSocketSdk.HP_Agent_GetFreeSocketObjLockTime(pAgent));
 }