示例#1
0
        public void NetLibMainCallback(uint _socket, uint msgType, [MarshalAs(UnmanagedType.LPArray, SizeConst = 1000)] byte[] msg, uint bytes)
        {
            lock (thisObject)
            {
                switch (msgType)
                {
                case 0x0000:
                {
                    TransmitParameters.NetArgus mNetArgus = new TransmitParameters.NetArgus();
                    mNetArgus.type   = msgType;
                    mNetArgus.socket = _socket;
                    TransmitParameters.CallArgus mCallArgus = new TransmitParameters.CallArgus();;
                    mCallArgus.isCallSucess = true;
                    mCallArgus.net_argu     = mNetArgus;
                    UserViewModelNetEvent.BeginInvoke(mCallArgus, null, null);
                } break;

                case 0x0001:
                {
                    TransmitParameters.NetArgus mNetArgus = new TransmitParameters.NetArgus();
                    mNetArgus.type           = msgType;
                    mNetArgus.socket         = _socket;
                    mNetArgus.send_recv_data = new byte[bytes];
                    Array.Copy(msg, mNetArgus.send_recv_data, bytes);
                    TransmitParameters.CallArgus mCallArgus = new TransmitParameters.CallArgus();;
                    mCallArgus.isCallSucess = true;
                    mCallArgus.net_argu     = mNetArgus;
                    UserViewModelNetEvent.BeginInvoke(mCallArgus, null, null);
                } break;

                case 0x0002:
                {
                    TransmitParameters.NetArgus mNetArgus = new TransmitParameters.NetArgus();
                    mNetArgus.type       = msgType;
                    mNetArgus.socket     = _socket;
                    mNetArgus.notify_msg = new byte[bytes];
                    Array.Copy(msg, mNetArgus.notify_msg, bytes);
                    TransmitParameters.CallArgus mCallArgus = new TransmitParameters.CallArgus();;
                    mCallArgus.isCallSucess = true;
                    mCallArgus.net_argu     = mNetArgus;
                    UserViewModelNetEvent.BeginInvoke(mCallArgus, null, null);
                } break;

                default:
                {
                    GlobalVar.ErrorMessage("error");
                } break;
                }
            }
            return;
        }