Esempio n. 1
0
        public bool SendWSMessage(IntPtr connId, WSMessageState state, byte[] data)
        {
            state.Mask = null;
            int bodyLen = data == null ? 0 : data.Length;

            return(HttpSdk.HP_HttpServer_SendWSMessage(pServer, connId, state.Final, state.Reserved, state.OperationCode, data, bodyLen, 0));
        }
Esempio n. 2
0
        public WSMessageState GetWSMessageState(IntPtr connId)
        {
            bool       final         = false;
            WSReserved reserved      = WSReserved.Off;
            WSOpcode   operationCode = WSOpcode.Cont;
            IntPtr     maskPtr       = IntPtr.Zero;
            ulong      bodyLen       = 0;
            ulong      bodyRemain    = 0;
            bool       ret           = HttpSdk.HP_HttpServer_GetWSMessageState(pServer, connId, ref final, ref reserved, ref operationCode, ref maskPtr, ref bodyLen, ref bodyRemain);

            if (ret)
            {
                WSMessageState state = new WSMessageState()
                {
                    Final         = final,
                    Reserved      = reserved,
                    OperationCode = operationCode,

                    BodyLen    = bodyLen,
                    BodyRemain = bodyRemain,
                };

                if (maskPtr != IntPtr.Zero)
                {
                    state.Mask = new byte[4];
                    Marshal.Copy(maskPtr, state.Mask, 0, state.Mask.Length);
                }

                return(state);
            }

            return(null);
        }
Esempio n. 3
0
 public bool SendMessage(IntPtr connId, WSMessageState state, IntPtr pData, int length)
 {
     return(HttpSdk.HP_HttpServer_SendWSMessage(pServer, connId, state.Final, state.Reserved, state.OperationCode, pData, length, 0));
 }