コード例 #1
0
ファイル: GameGate.cs プロジェクト: LiuFeng1011/Diablo
    // Use this for initialization
    void Start()
    {
        Debuger.EnableLog = true;

        GameCommon.GAME_INIT = true;

        gameHeart = new GameObject("GameHeart");
        gameHeart.AddComponent <DontDestroyObj>();

        //初始化数据存储系统
        UserDataManager.instance.Start();

        //初始化事件管理器
        EventManager em = gameHeart.AddComponent <EventManager>();

        //声音管理器
        AudioManager am = gameHeart.AddComponent <AudioManager>();

        //加载联网脚本
        HttpConnection hc = gameHeart.AddComponent <HttpConnection>();

        //初始化场景管理器
        GameSceneManager gsm = gameHeart.AddComponent <GameSceneManager>();

        //消息管理
        HandleMessage hm = gameHeart.AddComponent <HandleMessage>();

        gameHeart.AddComponent <ShowFPS>();

        ConfigManager.LoadData();
        (new EventChangeScene(GameSceneManager.SceneTag.Logo)).Send();

        PlayerPrefs.SetInt(GameConst.USERDATANAME_SEL_ROLE, 0);
    }
コード例 #2
0
ファイル: Client.cs プロジェクト: MegaChuck64/MonoEngine
 public Client(MonoGame gm, HandleMessage msgHandler)
 {
     game           = gm;
     config         = new NetPeerConfiguration("Client");
     client         = new NetClient(config);
     messageHandler = msgHandler;
 }
コード例 #3
0
        public Bot(Manager botManager, LoginInfo loginInfo, Config config, AsynchronousSocketListener socket)
        {
            this.socket          = socket;
            this.config          = config;
            this.loginInfo       = loginInfo;
            this.botManager      = botManager;
            steamClient          = new SteamClient();
            messageHandler       = new HandleMessage();
            steamWeb             = new SteamTrade.SteamWeb();
            manager              = new CallbackManager(steamClient);
            steamchatHandler     = new HandleSteamChat(this);
            MyGenericInventory   = new GenericInventory(steamWeb);
            steamCallbackManager = new CallbackManager(steamClient);

            this.socket.MessageReceived += Socket_MessageReceived;

            DB = new Database(config.DatabaseServer, config.DatabaseUser, config.DatabasePassword, config.DatabaseName, config.DatabasePort);
            DB.InitialiseDatabase();

            botThread = new BackgroundWorker {
                WorkerSupportsCancellation = true
            };
            botThread.DoWork             += BackgroundWorkerOnDoWork;
            botThread.RunWorkerCompleted += BackgroundWorkerOnRunWorkerCompleted;

            System.Timers.Timer refreshMarket = new System.Timers.Timer(421000);//15*1000*60);
            refreshMarket.Elapsed  += UpdateMarketItems;
            refreshMarket.AutoReset = true;
            refreshMarket.Enabled   = true;
        }
コード例 #4
0
ファイル: GBService.cs プロジェクト: smoming/NiCatApp_ASPNET
        async public Task <HandleMessage> DoUnAccound(DateTime xExeDate)
        {
            if (_BeginDate >= xExeDate)
            {
                return(HandleMessage.CreateFail(string.Format("回帳失敗, 執行日期必須大於 {0}", _BeginDate.ToString("yyyy/MM/dd"))));
            }

            var xCashFlow      = LookupCashFlow().Where(w => w.TradeDate >= xExeDate).ToList();
            var xCommodityMast = LookupCommodityMast().Where(w => w.TradeDate >= xExeDate).ToList();

            if (xCashFlow.IsEmpty() && xCommodityMast.IsEmpty())
            {
                return(HandleMessage.CreateFail("回帳失敗, 無現金流資料"));
            }

            foreach (var item in xCashFlow)
            {
                _Entity.Entry(item).State = EntityState.Deleted;
            }
            foreach (var item in xCommodityMast)
            {
                _Entity.Entry(item).State = EntityState.Deleted;
            }

            bool success = await _Entity.SaveChangesAsync() > 0;

            return(HandleMessage.Create(success, "回帳成功", "回帳失敗"));
        }
コード例 #5
0
        public void Test_MessageReceival_Valid()
        {
            bool   messageReceived = false;
            string subtype         = "example-message";

            var msg = new Message();

            msg.Header           = new Header();
            msg.Header.MessageID = Guid.NewGuid();
            msg.Header.Subtype   = subtype;


            HandleMessage handler = delegate(Message rMsg)
            {
                Assert.AreEqual(msg.Header.Subtype, rMsg.Header.Subtype);
                Assert.AreEqual(msg.Header.MessageID, rMsg.Header.MessageID);

                messageReceived = true;
            };

            var repo = new MessageHandlerRepository();

            repo.RegisterHandler(handler, subtype);


            var messageListener = new MessageListenerService(repo);


            string messageData = new JSONSerializer().Serialize(msg);

            messageListener.ProcessMessage(messageData);

            Assert.IsTrue(messageReceived);
        }
コード例 #6
0
        private void listen(MQQueue queue, MQQueueManager manager, string queueName, HandleMessage handler, OfacStatus status)
        {
            while (!pendingStop)
            {
                while (!pendingStop && currentMessagesToBeProcessed >= maxNoOfMessagesToProcess)
                {
                    Thread.Sleep(5000);
                }

                if (pendingStop)
                {
                    return;
                }
                try
                {
                    MQMessage message = getMessage(queue);
                    if (message == null)
                    {
                        continue;
                    }

                    handler(message, status);

                    manager.Commit();
                }
                catch (MQException e)
                {
                    LogUtil.log("Error when getting message from the " + queueName + " queue", e);
                    manager.Backout();
                    Thread.Sleep(30000);
                    throw;
                }
            }
        }
コード例 #7
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="date"></param>
 /// <param name="msgHandler"></param>
 public Dispatcher(DateTime date, HandleMessage msgHandler)
 {
     tradeDate       = date;
     StateRecords    = new LogFile(date);
     this.msgHandler = msgHandler;
     init();
 }
コード例 #8
0
ファイル: NamedPipeServer.cs プロジェクト: Jeff-Bee/qdh
        public void Start(HandleMessage handleMessage)
        {
            _handleMessage = handleMessage;
            CreateNamedPipeServerStream();
            _running = true;

            _pipeServer.BeginWaitForConnection(WaitForConnectionCallback, _pipeServer);
        }
コード例 #9
0
ファイル: Messenger.cs プロジェクト: hyliandanny/molyjam2013
 public static void RemoveListener(Type messageType, HandleMessage handler)
 {
     lock(eventTable) {
         if(eventTable.ContainsKey(messageType)) {
             eventTable[messageType] = (HandleMessage)eventTable[messageType] - handler;
         }
     }
 }
コード例 #10
0
ファイル: Messenger.cs プロジェクト: hyliandanny/molyjam2013
 public static void AddListener(Type messageType, HandleMessage handler)
 {
     lock(eventTable) {
         if(!eventTable.ContainsKey(messageType)) {
             eventTable.Add(messageType,null);
         }
         eventTable[messageType] =  (HandleMessage)eventTable[messageType] + handler;
     }
 }
コード例 #11
0
        /// <summary>
        /// Send a get message to the uri and pass the response message to the handle message method
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="handleMessage"></param>
        public static async Task GetAsync(string uri, HandleMessage handleMessage)
        {
            var httpClient = new HttpClient();

            var httpUri = new Uri(uri);

            var responseMessage = await httpClient.GetStringAsync(httpUri);

            handleMessage(JsonConvert.DeserializeObject(responseMessage));
        }
コード例 #12
0
ファイル: ZeroMQP2PListener.cs プロジェクト: bjornfe/Caspara
        public void Start()
        {
            Listener.Bind("tcp://*:" + ListenPort, out var connectError);
            if (connectError != null)
            {
                Console.WriteLine($"Connection error: {connectError.Name} - {connectError.Number} - {connectError.Text}");
            }

            runningThread = new Thread(new ThreadStart(() =>
            {
                Running = true;
                while (Active)
                {
                    try
                    {
                        var message = Listener.ReceiveMessage(out var error);
                        if (error == null)
                        {
                            if (message != null && message.Count > 0)
                            {
                                try
                                {
                                    if (HandleMessage != null)
                                    {
                                        var responseMessage = HandleMessage?.Invoke(message[0].ReadString());
                                        using (ZMessage reponse = new ZMessage())
                                        {
                                            reponse.Add(new ZFrame(responseMessage));
                                            Listener.Send(reponse);
                                        }
                                    }
                                    else
                                    {
                                        Console.WriteLine("ZeroMQP2PListener: MessageHandler not defined");
                                    }
                                }
                                catch (Exception err)
                                {
                                    Console.WriteLine("Failed to Receive P2P Message -> " + err.ToString());
                                }
                            }
                        }
                    }
                    catch (Exception err)
                    {
                        Console.WriteLine("MessageListener failed -> " + err.ToString());
                    }

                    Thread.Sleep(10);
                }
                Running = false;
            }));
            runningThread.Start();
        }
コード例 #13
0
        public void RegisterHandler(HandleMessage callback, params string[] messageTypes)
        {
            if (!IsListenerConfigured())
            {
                throw new ArgumentException("Listener is not configured in the message section of BOp SDK");
            }

            foreach (string type in messageTypes)
            {
                _messageHandlers.Add(type, callback);
            }
        }
コード例 #14
0
        override protected void HandleReceivedMessage(Message message)
        {
            base.HandleReceivedMessage(message);

            Message response = null;

            switch (message.Type)
            {
            case MessageType.TRACE:
                _tracing2Client = true;
                HandleMessage?.Invoke(this, message);
                break;

            case MessageType.PING:
                response = CreatePingResponse(message);
                SendMessage(response);
                break;

            case MessageType.STATUS_REQUEST:
                response = CreateStatusResponse(message);
                SendMessage(response);
                break;

            case MessageType.SUBSCRIBE:
                if (message.HasValue("Subscriber"))
                {
                    try
                    {
                        AddSubscriber(ConnectionManager.Subscriber.Parse(message.GetString("Subscriber")));
                    }
                    catch (Exception e)
                    {
                        Tracing?.TraceEvent(TraceEventType.Error, 2000, e.Message);
                    }
                }
                break;

            case MessageType.UNSUBSCRIBE:
                if (message.HasValue("Subscriber"))
                {
                    RemoveSubscriber(message.GetString("Subscriber"));
                }
                break;

            default:
                int priorSize = ThreadExecutionManager.MaxQueueSize;
                ThreadExecutionManager.MaxQueueSize = 256;
                ThreadExecutionManager.Execute <Message>("HandleMessage-" + ID, HandleMessageDelegateWrapper, message);
                ThreadExecutionManager.MaxQueueSize = priorSize;
                break;
            }
        }
コード例 #15
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MessageQueueReceive" /> class.
        /// </summary>
        /// <param name="cancelWork">The cancel work.</param>
        /// <param name="handleMessage">The handle message.</param>
        /// <param name="receiveMessages">The receive messages.</param>
        public MessageQueueReceive(
            IQueueCancelWork cancelWork,
            HandleMessage handleMessage,
            ReceiveMessage receiveMessages)
        {
            Guard.NotNull(() => cancelWork, cancelWork);
            Guard.NotNull(() => handleMessage, handleMessage);
            Guard.NotNull(() => receiveMessages, receiveMessages);

            _cancelWork      = cancelWork;
            _handleMessage   = handleMessage;
            _receiveMessages = receiveMessages;
        }
コード例 #16
0
        public Test()
        {
            InitializeComponent();

            RunConsole();

            bot = new Botnana("192.168.7.2");

            onWSOpen = new HandleMessage((IntPtr dataPtr, string str) =>
            {
                webSocketState = 2;
                BeginInvoke(new Deg(() =>
                {
                    sdoControl1.Awake();
                    driveControl1.Awake();
                    axisControl1.Awake();
                }));
                Console.WriteLine("WS connected.");
            });
            bot.SetOnOpenCB(IntPtr.Zero, onWSOpen);

            onWSError = new HandleMessage((IntPtr dataPtr, string str) =>
            {
                webSocketState = 0;
                BeginInvoke(new Deg(() =>
                {
                    sdoControl1.Sleep();
                    driveControl1.Sleep();
                    axisControl1.Sleep();
                }));
                Console.WriteLine("WS error : " + str);
            });
            bot.SetOnErrorCB(IntPtr.Zero, onWSError);

            onMessage = new HandleMessage((IntPtr dataPtr, string str) =>
            {
                Console.WriteLine("OnMessage : " + str);
            });
            bot.SetOnMessageCB(IntPtr.Zero, onMessage);

            onErrorMessage = new HandleMessage((IntPtr dataPtr, string str) =>
            {
                Console.WriteLine("Error|" + str);
            });
            bot.SetTagCB(@"error", 0, IntPtr.Zero, onErrorMessage);

            sdoControl1.InitializeBotnana(bot);
            axisControl1.InitializeBotnana(bot);
            realTimeScriptControl1.InitializeBotnana(bot);
            driveControl1.InitializeBotnana(bot);
        }
コード例 #17
0
        private void Form1_Load(object sender, EventArgs e)
        {
            bot = new Botnana("192.168.7.2");

            onWsErrorCallback = new HandleMessage(OnWsErrorCB);
            bot.SetOnErrorCB(IntPtr.Zero, onWsErrorCallback);

            onMessageCallback = new HandleMessage(HandleMessageCB);
            bot.SetOnMessageCB(IntPtr.Zero, onMessageCallback);

            slavesRespondingCallback = new HandleMessage(SlavesRespondingCB);
            bot.SetTagCB("slaves_responding", 0, IntPtr.Zero, slavesRespondingCallback);

            statusWordCallback = new HandleMessage(StatusWordCB);
            bot.SetTagCB("status_word.1.1", 0, IntPtr.Zero, statusWordCallback);

            realPositionCallback = new HandleMessage(RealPositionCB);
            bot.SetTagCB("real_position.1.1", 0, IntPtr.Zero, realPositionCallback);

            targetPositionCallback = new HandleMessage(TargetPositionCB);
            bot.SetTagCB("target_position.1.1", 0, IntPtr.Zero, targetPositionCallback);

            opModeCallback = new HandleMessage(OpModeCB);
            bot.SetTagCB("operation_mode.1.1", 0, IntPtr.Zero, opModeCallback);

            digitalInputsCallback = new HandleMessage(DigitalInputsCB);
            bot.SetTagCB("digital_inputs.1.1", 0, IntPtr.Zero, digitalInputsCallback);

            profileVelocityCallback = new HandleMessage(ProfileVelocityCB);
            bot.SetTagCB("profile_velocity.1.1", 0, IntPtr.Zero, profileVelocityCallback);

            profileAccelerationCallback = new HandleMessage(ProfileAccelerationCB);
            bot.SetTagCB("profile_acceleration.1.1", 0, IntPtr.Zero, profileAccelerationCallback);

            deployedCallback = new HandleMessage(DeployedCB);
            bot.SetTagCB("deployed", 0, IntPtr.Zero, deployedCallback);

            endOfProgramCallback = new HandleMessage(EndOfProgramCB);
            bot.SetTagCB("end-of-program", 0, IntPtr.Zero, endOfProgramCallback);

            errorCallback = new HandleMessage(ErrorCB);
            bot.SetTagCB("error", 0, IntPtr.Zero, errorCallback);

            bot.Connect();
            Thread.Sleep(1000);

            bot.EvaluateScript(".ec-links");
            bot.EvaluateScript("1 .slave");
            timer1.Interval = 50;
            timer1.Enabled  = true;
        }
コード例 #18
0
 /// <summary>
 /// Creates new receiver witch specified properies.
 /// </summary>
 /// <param name="appName"> Application name for which messages listener will be listening. </param>
 /// <param name="connectionString"> Connection string used to connect to DB. </param>
 /// <param name="messageHandler"> Handler used to handle typical NotificationMessage. Default: no handler is specified. </param>
 /// <param name="unsubscribedMessageHandler"> Handler used to handle unsubscribe NotificationMessage. Default: messageHandler handler is used. </param>
 /// <param name="errorMessageHandler"> Handler used to handle unsubscribe NotificationMessage. Default: unsubscribedMessageHandler handler is used. </param>
 /// <param name="sqlTimeout"> Timeout in seconds used for query. Default value uses value set in constructor. 0 indicates infinite. Default: 30. </param>
 public Receiver(
     string appName,
     string connectionString,
     HandleMessage messageHandler             = null,
     HandleMessage unsubscribedMessageHandler = null,
     HandleMessage errorMessageHandler        = null,
     int sqlTimeout = 30)
 {
     AppName                     = appName;
     SqlProcedures               = new SqlProcedures(connectionString, sqlTimeout);
     MessageHandler             += messageHandler;
     UnsubscribedMessageHandler += unsubscribedMessageHandler ?? messageHandler;
     ErrorMessageHandler        += errorMessageHandler ?? unsubscribedMessageHandler ?? messageHandler;
 }
コード例 #19
0
ファイル: Form1.cs プロジェクト: trigrass2/botnana-apis
        private void Form1_Load(object sender, EventArgs e)
        {
            bot = new Botnana("192.168.7.2");

            onWsErrorCallback = new HandleMessage(OnWsErrorCB);
            bot.SetOnErrorCB(IntPtr.Zero, onWsErrorCallback);

            sdoIndexCallback = new HandleMessage(SdoIndexCB);
            bot.SetTagCB("sdo_index.1", 0, IntPtr.Zero, sdoIndexCallback);

            sdoSubindexCallback = new HandleMessage(SdoSubindexCB);
            bot.SetTagCB("sdo_subindex.1", 0, IntPtr.Zero, sdoSubindexCallback);

            sdoErrorCallback = new HandleMessage(SdoErrorCB);
            bot.SetTagCB("sdo_error.1", 0, IntPtr.Zero, sdoErrorCallback);

            sdoBusyCallback = new HandleMessage(SdoBusyCB);
            bot.SetTagCB("sdo_busy.1", 0, IntPtr.Zero, sdoBusyCallback);

            sdoDataCallback = new HandleMessage(SdoDataCB);
            bot.SetTagCB("sdo_data.1", 0, IntPtr.Zero, sdoDataCallback);

            realPositionCallback = new HandleMessage(RealPositionCB);
            bot.SetTagCB("real_position.1.1", 0, IntPtr.Zero, realPositionCallback);

            digitalInputsCallback = new HandleMessage(DigitalInputsCB);
            bot.SetTagCB("digital_inputs.1.1", 0, IntPtr.Zero, digitalInputsCallback);

            opModeCallback = new HandleMessage(OpModeCB);
            bot.SetTagCB("operation_mode.1.1", 0, IntPtr.Zero, opModeCallback);

            statusWordCallback = new HandleMessage(StatusWordCB);
            bot.SetTagCB("status_word.1.1", 0, IntPtr.Zero, statusWordCallback);

            errorCallback = new HandleMessage(ErrorCB);
            bot.SetTagCB("error", 0, IntPtr.Zero, errorCallback);

            homingCallback = new HandleMessage(HomingCB);
            bot.SetTagCB("homing", 0, IntPtr.Zero, homingCallback);

            slavesRespondingCallback = new HandleMessage(SlavesRespondingCB);
            bot.SetTagCB("slaves_responding", 1, IntPtr.Zero, slavesRespondingCallback);
            bot.Connect();
            Thread.Sleep(1000);
            bot.EvaluateScript(".ec-links 0 $60B8 1 sdo-upload-i16 1 .slave");

            timer1.Interval = 50;
            timer1.Enabled  = true;
        }
コード例 #20
0
        private void NewClientAccept(object oClientSocket)
        {
            Socket clientSocket = oClientSocket as Socket;

            try
            {
                UserToken userToken = UserToken.Pop();
                if (ClientInfosDic.TryAdd(clientSocket, userToken) && ClientSocketsDic.TryAdd(clientSocket.RemoteEndPoint + "", clientSocket))
                {
                    eShowMsg?.Invoke($"客户端上线,RemoteEndPoint:{clientSocket.RemoteEndPoint}");
                    userToken.socket          = clientSocket;
                    userToken.LastWorkingTime = DateTime.Now;
                    if (userToken.ReciveArgs == null)
                    {
                        userToken.ReciveArgs            = new SocketAsyncEventArgs();
                        userToken.ReciveArgs.Completed += ReciveArgs_Completed;
                        userToken.ReciveHandler.server  = this;
                        if (_HandlePackage == null)
                        {
                            _HandlePackage = new Action <TcpServerSocket, string, byte[]>((sender, remoteEndPoint, msg) =>
                            {
                                HandleMessage.Invoke(sender, remoteEndPoint, msg);
                            });
                        }
                        userToken.ReciveHandler.HandlePackage      = _HandlePackage;
                        userToken.ReciveHandler.dicSendedMessages  = dicSendedPackages;
                        userToken.ReciveHandler.dicRevivedMessages = dicRevivedPackages;
                        userToken.ReciveHandler.ClientSocketDic    = ClientInfosDic;
                        userToken.ReciveArgs.UserToken             = userToken;
                    }

                    userToken.ReciveHandler.clientSocket = clientSocket;
                    userToken.ReciveHandler.Start();
                    byte[] data = new byte[ReciveBufferSize];
                    userToken.ReciveArgs.SetBuffer(data, 0, data.Length);
                    userToken.ReciveArgs.AcceptSocket = clientSocket;
                    clientSocket.ReceiveAsync(userToken.ReciveArgs);
                }
                else
                {
                    DisposeClient(clientSocket, "加入客户端队列失败!");
                }
            }
            catch (Exception err)
            {
                DisposeClient(clientSocket, err.Message);
                OnError?.Invoke(this, err);
            }
        }
コード例 #21
0
        private void FileSystem_Load(object sender, EventArgs e)
        {
            sendPath                 = worker.SendPath;
            worker.addDir            = AddDirectoryInTree;
            worker.addFile           = AddFileInTree;
            worker.completeTransInfo = Complete;


            tree.ImageList = imageList;
            TreeNode node = new TreeNode("c:\\");

            node.ImageKey         = "folder";
            node.SelectedImageKey = "folder";
            this.tree.Nodes.Add(node);
        }
コード例 #22
0
 public void AddDirectoryInTree(string directoryName)
 {
     if (tree.InvokeRequired)
     {
         HandleMessage handleMessage = new HandleMessage(AddDirectoryInTree);
         Invoke(handleMessage, new object[] { directoryName });
     }
     else
     {
         TreeNode subNode = new TreeNode(directoryName);
         subNode.ImageKey         = "folder";
         subNode.SelectedImageKey = "folder";
         treeNode.Nodes.Add(subNode);
     }
 }
コード例 #23
0
        /// <summary>
        /// Send a put message to the uri and pass the response message to the handle message method
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="body"></param>
        /// <param name="handleMessage"></param>
        public static async Task PutAsync(string uri, dynamic body, HandleMessage handleMessage)
        {
            var httpClient = new HttpClient();

            var bodyString = JsonConvert.SerializeObject(body);

            var httpUri  = new Uri(uri);
            var httpBody = new HttpStringContent(bodyString);

            var responseMessage = await httpClient.PutAsync(httpUri, httpBody);

            var responseString = await responseMessage.Content.ReadAsStringAsync();

            handleMessage(JsonConvert.DeserializeObject(responseString));
        }
コード例 #24
0
 public void AddFileInTree(string fileName)
 {
     if (tree.InvokeRequired)
     {
         HandleMessage handleMessage = new HandleMessage(AddFileInTree);
         Invoke(handleMessage, new object[] { fileName });
     }
     else
     {
         TreeNode subNode = new TreeNode(fileName);
         subNode.ImageKey         = "file";
         subNode.SelectedImageKey = "file";
         treeNode.Nodes.Add(subNode);
     }
 }
コード例 #25
0
 public void receiveOuput(string output)
 {
     if (this.panel1.InvokeRequired)
     {
         HandleMessage a = new HandleMessage(receiveOuput);
         Invoke(a, new object[] { output });
     }
     else
     {
         Label label = new Label();
         label.Text     = output;
         label.Size     = new Size(600, 20);
         label.Location = new Point(0, pos);
         pos           += label.Height;
         label.Parent   = panel1;
         panel1.Controls.Add(label);
     }
 }
コード例 #26
0
 private void UpdateList(string message)
 {
     if (mainPanel.InvokeRequired)
     {
         HandleMessage a = new HandleMessage(UpdateList);
         Invoke(a, new object[] { message });
     }
     else
     {
         Label label = new Label();
         label.Text     = message;
         label.Size     = new Size(1200, 50);
         label.Location = new Point(0, pos);
         pos           += label.Height;
         label.Parent   = mainPanel;
         mainPanel.Controls.Add(label);
     }
 }
コード例 #27
0
 /// <summary>
 /// Type=2 群消息<para/>
 /// 处理收到的群消息
 /// </summary>
 /// <param name="sender">事件的触发对象</param>
 /// <param name="e">事件的附加参数</param>
 public void ReceiveGroupMessage(object sender, GroupMessageEventArgs e)
 {
     // 本子程序会在酷Q【线程】中被调用,请注意使用对象等需要初始化(CoInitialize,CoUninitialize)。
     // 这里处理消息
     try
     {
         if (e.Handled || !Common.ConfigLoader.Config.Groups.Contains(e.FromGroup))
         {
             return;
         }
         e.Handled = HandleMessage.ReceiveMessage(e.FromQQ, e.Msg, false);
     }
     catch (Exception ex)
     {
         Common.CqApi.AddLoger(Sdk.Cqp.Enum.LogerLevel.Error, "错误", ex.Message);
         e.Handled = false;
     }
 }
コード例 #28
0
ファイル: NamedPipeClient.cs プロジェクト: Jeff-Bee/qdh
        public void StartReceiveMessage(HandleMessage printMessage)
        {
            if (_startReceiveMessage)
            {
                return;
            }
            _startReceiveMessage = true;
            //StreamReader sr = new StreamReader(_pipeClient);
            //Connect();

            //_pipeClient.BeginWrite(data, 0, data.Length, PipeWriteCallback, _pipe);
            //_pipeClient.BeginRead()
            ThreadPool.QueueUserWorkItem(delegate
            {
                while (_startReceiveMessage)
                {
                    if (_pipeClient.IsConnected)
                    {
                        var data = new byte[PipeInBufferSize];

                        var count = _pipeClient.Read(data, 0, data.Length);

                        if (count > 0)
                        {
                            string message = encoding.GetString(data, 0, count);
                            printMessage(message);
                        }
                        Thread.Sleep(100);
                        //if (_pipeClient.CanRead)
                        //{
                        //    printMessage(sr.ReadLine());
                        //}
                    }
                    else
                    {
                        Thread.Sleep(1000);
                        Connect();
                    }

                    //StreamString ss = new StreamString(pipeClient);
                    //printMessage(ss.ReadString());
                }
            });
        }
コード例 #29
0
        public ResponseMessage DDSSAwdssssa([FromBody] ChatRequest data)
        {
            if (data.token != apikey)
            {
                return(new ResponseMessage()
                {
                    text = "Invalid API key",
                    thread = data.message.thread
                });
            }

            var response = new HandleMessage();

            return(new ResponseMessage()
            {
                text = response.CreateResponseMessage(data),
                thread = data.message.thread
            });
        }
コード例 #30
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RedisQueueReceiveMessages" /> class.
        /// </summary>
        /// <param name="workSubFactory">The work sub factory.</param>
        /// <param name="receiveMessage">The receive message.</param>
        /// <param name="handleMessage">The handle message.</param>
        /// <param name="headers">The headers.</param>
        /// <param name="cancelWork">The cancel work.</param>
        /// <param name="receiveMessageAsync">The receive message asynchronous.</param>
        public RedisQueueReceiveMessages(IRedisQueueWorkSubFactory workSubFactory,
                                         IQueryHandler <ReceiveMessageQuery, RedisMessage> receiveMessage,
                                         HandleMessage handleMessage,
                                         IHeaders headers,
                                         IQueueCancelWork cancelWork, IQueryHandler <ReceiveMessageQueryAsync, Task <RedisMessage> > receiveMessageAsync)
        {
            Guard.NotNull(() => workSubFactory, workSubFactory);
            Guard.NotNull(() => receiveMessage, receiveMessage);
            Guard.NotNull(() => handleMessage, handleMessage);
            Guard.NotNull(() => headers, headers);
            Guard.NotNull(() => cancelWork, cancelWork);
            Guard.NotNull(() => receiveMessageAsync, receiveMessageAsync);

            _receiveMessage      = receiveMessage;
            _handleMessage       = handleMessage;
            _headers             = headers;
            _cancelWork          = cancelWork;
            _receiveMessageAsync = receiveMessageAsync;
            _workSubFactory      = workSubFactory;
        }
コード例 #31
0
        public ActionResult <IEnumerable <IHandleMessage> > Post(AddressModel address)
        {
            try
            {
                var entity = this._mapper.Map <Address>(address);
                var result = this._service.SaveData(entity);

                if (result.Any(r => r.Code.Equals(HandlesCode.Accepted) || r.Code.Equals(HandlesCode.Ok)))
                {
                    return(StatusCode((int)HttpStatusCode.OK, result));
                }
                else
                {
                    return(StatusCode((int)HttpStatusCode.BadRequest, result));
                }
            }
            catch (Exception e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, HandleMessage.Factory(e.GetType().Name, e.Message, HandlesCode.InternalException, e.StackTrace)));
            }
        }
コード例 #32
0
 /// <summary>
 /// Type=21 好友消息<para/>
 /// 处理收到的好友消息
 /// </summary>
 /// <param name="sender">事件的触发对象</param>
 /// <param name="e">事件的附加参数</param>
 public void ReceiveFriendMessage(object sender, PrivateMessageEventArgs e)
 {
     // 本子程序会在酷Q【线程】中被调用,请注意使用对象等需要初始化(CoInitialize,CoUninitialize)。
     // 这里处理消息
     try
     {
         if (e.Handled)
         {
             return;
         }
         e.Handled = HandleMessage.ReceiveMessage(e.FromQQ, e.Msg);
     }
     catch (Exception ex)
     {
         Common.CqApi.AddLoger(Sdk.Cqp.Enum.LogerLevel.Error, "错误", ex.Message);
         e.Handled = false;
     }
     // e.Handled 相当于 原酷Q事件的返回值
     // 如果要回复消息,请调用api发送,并且置 true - 截断本条消息,不再继续处理 //注意:应用优先级设置为"最高"(10000)时,不得置 true
     // 如果不回复消息,交由之后的应用/过滤器处理,这里置 false  - 忽略本条消息
 }
コード例 #33
0
 public StatsdListener(int port, HandleMessage handleMessage)
 {
     _messageHandler = handleMessage;
     _endPoint = new IPEndPoint(IPAddress.Any, port);
     _socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
 }
コード例 #34
-1
ファイル: FileTransferForm.cs プロジェクト: 864668723/128
        protected async void udpReceiveAsync(int port, HandleMessage handleMessage)
        {
            IPEndPoint remoteIP = new IPEndPoint(IPAddress.Any, port);
            UdpClient udpClient = new UdpClient(remoteIP);

            while (true)
            {
                UdpReceiveResult rst = await udpClient.ReceiveAsync();
                handleMessage(Encoding.ASCII.GetString(rst.Buffer), rst.RemoteEndPoint.Address);
            }
        }