コード例 #1
0
        public void MonitorClient(SocketDescribe socketClient)
        {
            var  socket = socketClient.SocketClient;
            var  bs     = new byte[1024];
            int  length = 0;
            bool isRec  = true;

            while (isRec)
            {
                try
                {
                    length = socket.Receive(bs);
                    if (Receive != null && length > 0)
                    {
                        socketClient.Receive = bs.Take(length).ToArray();
                        Receive(socketClient);
                    }
                }
                catch {
                    list.Remove(socketClient);
                    isRec = false;
                    if (Close != null)
                    {
                        Close(socketClient);
                    }
                }
            }
        }
コード例 #2
0
ファイル: Message.cs プロジェクト: konghao8013/DotNetSocket
        void init_Receive(SocketDescribe obj)
        {
            var model = obj.ReceiveString.Deserialize <WebModel>();

            switch (model.Type)
            {
            case ModelType.Code:

                break;

            case ModelType.Cmd:


                break;

            case ModelType.Message:

                break;
            }
        }
コード例 #3
0
 public async void Monitor(Socket socket)
 {
     await Task.Run(() =>
     {
         while (true)
         {
             SocketDescribe socketClient = SocketDescribe.GetSocketDescribe(socket.Accept());
             list.Add(socketClient);
             if (Accept != null)
             {
                 Accept(socketClient);
             }
             Thread thread = new Thread(() =>
             {
                 MonitorClient(socketClient);
             });
             thread.Start();
         }
     });
 }
コード例 #4
0
ファイル: Message.cs プロジェクト: konghao8013/DotNetSocket
 void init_Accept(SocketDescribe obj)
 {
 }
コード例 #5
0
ファイル: Message.cs プロジェクト: konghao8013/DotNetSocket
 void init_Close(SocketDescribe obj)
 {
 }