static SocketFactory()
        {
            _open             = SocketOpened;
            _close            = SocketClose;
            _requestClose     = SocketRequestClose;
            _write            = SocketWrittenTo;
            _completedReceive = SocketCompletedReceive;
            _dispose          = SocketDispose;
            InternalFactory   = new C4SocketFactory
            {
                framing          = C4SocketFraming.WebSocketClientFraming,
                open             = Marshal.GetFunctionPointerForDelegate(_open),
                close            = Marshal.GetFunctionPointerForDelegate(_close),
                write            = Marshal.GetFunctionPointerForDelegate(_write),
                completedReceive = Marshal.GetFunctionPointerForDelegate(_completedReceive),
                dispose          = Marshal.GetFunctionPointerForDelegate(_dispose)
            };

            Native.c4socket_registerFactory(InternalFactory);
        }
Exemple #2
0
        private IntPtr requestClose; // unused in .NET

        public C4SocketFactory(SocketOpenDelegate open, SocketCloseDelegate close, SocketWriteDelegate write, SocketCompletedReceiveDelegate completedReceive)
        {
            this.open               = Marshal.GetFunctionPointerForDelegate(open);
            this.write              = Marshal.GetFunctionPointerForDelegate(write);
            this.completedReceive   = Marshal.GetFunctionPointerForDelegate(completedReceive);
            this.close              = Marshal.GetFunctionPointerForDelegate(close);
            this.requestClose       = IntPtr.Zero;
            this.providesWebSockets = 0;
        }
 public C4SocketFactory(SocketOpenDelegate open, SocketCloseDelegate close, SocketWriteDelegate write, SocketCompletedReceiveDelegate completedReceive)
 {
     this.open             = Marshal.GetFunctionPointerForDelegate(open);
     this.close            = Marshal.GetFunctionPointerForDelegate(close);
     this.write            = Marshal.GetFunctionPointerForDelegate(write);
     this.completedReceive = Marshal.GetFunctionPointerForDelegate(completedReceive);
 }