亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? frmclient.cs

?? ActiveSync數據同步
?? CS
字號:
using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;

using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.Runtime.InteropServices;

using ALAZ.SystemEx;
using ALAZ.SystemEx.NetEx.SocketsEx;

using ChatSocketService;

namespace ChatClient
{
 
    public partial class frmClient : Form
    {

        private const int WM_VSCROLL = 277; // Vertical scroll
        private const int SB_PAGEBOTTOM = 7; // Scrolls to the upper right

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);

        delegate void UpdateListDel(string text);
        delegate void AddUserDel(UserInfo[] users);
        
        UserInfo userInfo;
        
        SocketClientSync client;
        Thread read;

        public frmClient()
        {
            InitializeComponent();
        }

        private void UpdateList(string text)
        {

            if (this.InvokeRequired)
            {

                this.Invoke(new UpdateListDel(
                    delegate(string innerText)
                    {
                    
                        this.UpdateList(innerText);

                    }), text);

            }
            else
            {

                string[] data = text.Split( "\r\n".ToCharArray());

                this.lstStatus.Items.Add(DateTime.Now.ToString("hh:mm:ss.fff") + " - " + data[0]);

                if (data.Length > 1)
                {
                    this.lstStatus.Items.Add(data[2]);
                }

                SendMessage(lstStatus.Handle, WM_VSCROLL, (IntPtr)SB_PAGEBOTTOM, IntPtr.Zero);
                Application.DoEvents();
            }

        }

        private void CheckMsg(string data)
        {

            ChatMessage msg = ChatSocketService.ChatSocketService.DeserializeMessage(Encoding.GetEncoding(1252).GetBytes(data));
            
            switch(msg.MessageType)
            {
                
                case MessageType.mtLogin:
                    
                    userInfo = msg.UserInfo[0];
                    UpdateList(userInfo.UserName + " has entered!");
                    break;

                case MessageType.mtAuthenticated:

                    UpdateList(msg.UserInfo[0].UserName + " has entered!");
                    AddUser(msg.UserInfo);
                    
                    break;

                case MessageType.mtMessage:
                
                    UpdateList(msg.UserInfo[0].UserName + "\r\n" + msg.Message);
                    break;

                case MessageType.mtHello:

                    AddUser(msg.UserInfo);
                    break;

                case MessageType.mtLogout:

                    RemoveUser(msg.UserInfo);
                    break;
                    
                    
            }

        }
        
        private void AddUser(UserInfo[] users)
        {
            
            if (this.InvokeRequired)
            {

                this.Invoke(
                    new AddUserDel(
                        delegate(UserInfo[] innerUsers)
                        {
                            this.AddUser(innerUsers);
                        }
                    ), users);

            }
            else
            {

                foreach (UserInfo u in users)
                {
                    if (u.UserName != null)
                    {
                        this.lstUsers.Items.Add(u);
                    }
                }

            }
        
        }

        private void RemoveUser(UserInfo[] users)
        {

            if (this.InvokeRequired)
            {

                this.Invoke(
                    new AddUserDel(
                        delegate(UserInfo[] innerUsers)
                        {
                            this.RemoveUser(innerUsers);
                        }
                    ), users);

            }
            else
            {

                bool found = false;
                
                for (int j = 0; j < users.Length; j++)
			    {
    			
                    if (users[j].UserName != null)
                    {
                        for (int i = 0; i < this.lstUsers.Items.Count; i++)
                        {
                            
                            UserInfo u = (UserInfo) this.lstUsers.Items[i];
                            
                            if (u.UserId == users[j].UserId)
                            {
                                this.lstUsers.Items.RemoveAt(i);
                                found = true;
                                break;    
                            }

        	            }
        	            
        	        }
        	        
        	        if (found)
        	        {

                        UpdateList(users[0].UserName + " quits!");

        	            break;
        	        }

                }
                
            }

        }

        private void ThreadExecute(object data)
        {

            SocketClientSync client = (SocketClientSync)data;
            string read = null;

            while (client.Connected)
            {
                
                read = client.Read(500);

                if (client.LastException != null)
                {
                    if (!(client.LastException is TimeoutException))
                    {
                        UpdateList("Read Error! " + client.LastException.Message);
                        client.Disconnect();
                    }
                }
                else
                {

                    if (read != null)
                    {
                        CheckMsg(read);
                    }

                }

                Thread.Sleep(11);

            }

        }

        private void button1_Click(object sender, EventArgs e)
        {

            if (!client.Connected)
            {

                client.RemoteEndPoint = new IPEndPoint(IPAddress.Parse(txtHost.Text), 8090);
                
                client.DelimiterType = DelimiterType.dtMessageTailExcludeOnReceive;
                client.Delimiter = new byte[] {0xAA, 0xFF, 0xAA};

                client.EncryptType = EncryptType.etRijndael;
                client.CompressionType = CompressionType.ctNone;

                client.SocketBufferSize = 1024;
                client.MessageBufferSize = 512;

                client.Connect();
                
                if (client.Connected)
                {

                    this.lstUsers.Items.Clear();
                    this.lstStatus.Items.Clear();

                    read = new Thread(new ParameterizedThreadStart(ThreadExecute));
                    read.Start(client);
                    
                    ChatMessage msg = new ChatMessage();
                    msg.MessageType = MessageType.mtLogin;

                    msg.UserInfo = new UserInfo[1];
                    msg.UserInfo[0].UserName = txtNickName.Text;
                    
                    client.Write(ChatSocketService.ChatSocketService.SerializeMessage(msg));

                }
                else
                { 
                    UpdateList("Not Connected! " + client.LastException != null ? client.LastException.Message : String.Empty);
                }

            }

        }

        private void frmClient_Load(object sender, EventArgs e)
        {

            client = new SocketClientSync(null);
            client.OnSymmetricAuthenticate += new OnSymmetricAuthenticateEvent(client_OnSymmetricAuthenticate);

        }

        static void client_OnSymmetricAuthenticate(ISocketConnection connection, out System.Security.Cryptography.RSACryptoServiceProvider serverKey, out byte[] signMessage)
        {
            
            //----- Sign Message!
            signMessage = new byte[]
            {
                
                0x1E, 0xF0, 0x5F, 0x4D, 0x2B, 0x33, 0xCE, 0xB0, 
                0x12, 0x29, 0x31, 0xCA, 0xEF, 0xAB, 0xEC, 0x97, 
                0xB3, 0x73, 0x2E, 0xDD, 0x2D, 0x58, 0xAC, 0xE9, 
                0xE0, 0xCC, 0x14, 0xDC, 0x14, 0xEF, 0x97, 0x64,
                0x38, 0xC6, 0x1C, 0xD8, 0x87, 0xFC, 0x30, 0xD5,
                0x79, 0xE4, 0x10, 0x2C, 0xFE, 0x98, 0x30, 0x2C, 
                0xFF, 0xAE, 0x51, 0xD5, 0x47, 0x1D, 0x4D, 0xC5, 
                0x43, 0x75, 0x6C, 0x5E, 0x32, 0xF2, 0x9C, 0x22,
                0x51, 0xBE, 0xA2, 0xC5, 0x31, 0x19, 0xAE, 0x21, 
                0x3D, 0x9A, 0xF2, 0x78, 0x90, 0x19, 0xCF, 0x97, 
                0xA5, 0x75, 0x99, 0xB3, 0xFD, 0x31, 0xE6, 0xB5, 
                0x7F, 0xFD, 0xD0, 0x37, 0x26, 0xC2, 0x7B, 0x27, 
                0x18, 0x43, 0xED, 0xD9, 0xC8, 0x5A, 0xF5, 0xE0, 
                0xDA, 0x33, 0x41, 0x3A, 0xC8, 0xE7, 0x4A, 0x5C, 
                0x9D, 0x48, 0x95, 0x22, 0x56, 0x2F, 0x62, 0x20, 
                0xD8, 0xEC, 0x46, 0x52, 0x49, 0x76, 0xFB, 0x7B

            };

            //----- Using string!

            //----- You must get the public key xml from the ALAZ certificate in you server machine.
            //----- Uncomment the following lines to get the public key from certificate.

            //---- Get certificate!
            // X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
            // store.Open(OpenFlags.ReadOnly);
            // X509Certificate2 certificate = store.Certificates.Find(X509FindType.FindBySubjectName, "ALAZ Library", true)[0];

            //---- Get public key string!
            // string publicKey = certificate.PrivateKey.ToXmlString(false);

            serverKey = new RSACryptoServiceProvider();
            serverKey.FromXmlString("<RSAKeyValue><Modulus>x66+m1J+bNfaDmUCDl/XEi5tZUSPvtJ1AxsZAR2awHI+xKtB8320oBZiKDuEY0MticpMtfvEkBGDSYXtMCxtpQ+4B6DydwwoQhUc+XDHNnCJ3agCDLQ30Tt/lDLMvEVzyXCgaC7J6KM9PT533b6Khlz96gNIht7e0sSDAVP76Hc=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>");
            
             
        }

        private void button2_Click(object sender, EventArgs e)
        {

            if (client.Connected)
            {

                ChatMessage msg = new ChatMessage();
                msg.MessageType = MessageType.mtLogout;

                msg.UserInfo = new UserInfo[1];
                msg.UserInfo[0].UserName = userInfo.UserName;
                msg.UserInfo[0].UserId = userInfo.UserId;

                client.Write(ChatSocketService.ChatSocketService.SerializeMessage(msg));

                UpdateList("Disconnecting!");

                Thread.Sleep(1000);
                
                client.Disconnect();

                if (!client.Connected)
                {
                    UpdateList("Disconnected!");
                }
                else
                {
                    UpdateList("Not Disconnected! " + client.LastException != null ? client.LastException.Message : String.Empty);
                }

                this.lstUsers.Items.Clear();
                
                Application.DoEvents();

                read.Join();
                read = null;

                Application.DoEvents();

            }

        }

        private void frmClient_FormClosed(object sender, FormClosedEventArgs e)
        {
            
            if(client != null)
            {
            
                if (client.Connected)
                {
                    client.Disconnect();
                }

                client.Dispose();
                
            }
            
        }

        private void Send()
        {

            if (client.Connected)
            {

                ChatMessage msg = new ChatMessage();

                msg.UserInfo = new UserInfo[1];
                msg.UserInfo[0] = userInfo;

                msg.MessageType = MessageType.mtMessage;
                msg.Message = txtMessage.Text;

                client.Write(ChatSocketService.ChatSocketService.SerializeMessage(msg));

                if (client.LastException != null)
                {
                    UpdateList("Write Error! " + client.LastException.Message);
                }
                else
                {
                    txtMessage.Clear();
                    UpdateList(msg.UserInfo[0].UserName + "\r\n" + msg.Message);
                }

            }
        
        }
        
        private void button3_Click_1(object sender, EventArgs e)
        {

            Send();

        }

        private void label6_Click(object sender, EventArgs e)
        {

        }

        private void cboDelimiter_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button4_Click(object sender, EventArgs e)
        {
            
            Random r = new Random(DateTime.Now.Millisecond);
            
            timer1.Interval = r.Next(5000, 10000);
            timer1.Start();
            
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            
        }

        private void txtMessage_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                if (txtMessage.Text.Length > 0)
                {
                    Send();
                }
            }
        }

    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美男男青年gay1069videost | 91精品婷婷国产综合久久性色| 欧美不卡一区二区三区| 国产精品亲子伦对白| 日韩国产精品久久| 成人午夜免费av| 日韩欧美一二三| 亚洲图片一区二区| 国产精品69久久久久水密桃| 欧美一区二区三区的| 亚洲午夜激情网页| 91亚洲精品久久久蜜桃| 国产婷婷色一区二区三区在线| 天堂影院一区二区| 在线观看视频一区| 亚洲视频1区2区| 国产福利精品一区二区| 日韩欧美视频一区| 午夜精品久久久久久久久久| 91小视频免费看| 亚洲欧洲另类国产综合| 粉嫩av一区二区三区在线播放| 欧美丰满少妇xxxxx高潮对白| 亚洲激情网站免费观看| 97超碰欧美中文字幕| 欧美激情一区二区| 国产ts人妖一区二区| 精品卡一卡二卡三卡四在线| 美腿丝袜亚洲综合| 欧美成人a在线| 麻豆国产91在线播放| 日韩精品在线一区二区| 麻豆91小视频| 久久亚洲私人国产精品va媚药| 美女脱光内衣内裤视频久久网站| 3atv一区二区三区| 免费成人美女在线观看| 日韩免费高清av| 激情欧美日韩一区二区| www久久精品| 国产91色综合久久免费分享| 国产女人aaa级久久久级| 国产69精品久久久久777| 中文字幕在线观看一区二区| 91色九色蝌蚪| 亚洲丶国产丶欧美一区二区三区| 欧美美女bb生活片| 久久精品国产精品亚洲精品| 26uuu精品一区二区在线观看| 国产乱子伦一区二区三区国色天香| 中文av一区二区| 色婷婷精品大在线视频 | 国产精品热久久久久夜色精品三区 | 亚洲色图制服诱惑 | 国产精品嫩草影院av蜜臀| 成人晚上爱看视频| 亚洲综合在线视频| 91麻豆精品91久久久久久清纯| 久久国产综合精品| 国产精品麻豆99久久久久久| 在线国产电影不卡| 精品一区在线看| 日韩理论片在线| 欧美日韩国产精选| 国产在线视频一区二区三区| 亚洲欧美综合另类在线卡通| 欧美女孩性生活视频| 国模少妇一区二区三区| 亚洲精品国产一区二区三区四区在线 | 成人福利视频在线看| 亚洲精品第1页| 精品捆绑美女sm三区| 99精品久久只有精品| 日韩电影在线观看网站| 中文欧美字幕免费| 91精品综合久久久久久| 99这里都是精品| 看国产成人h片视频| 亚洲综合一区二区三区| 中文一区在线播放| 91麻豆精品国产91久久久资源速度| 成人一区二区三区中文字幕| 五月天亚洲精品| 国产精品天干天干在观线| 在线播放中文字幕一区| 99久久免费精品| 国产自产v一区二区三区c| 五月开心婷婷久久| 亚洲日本一区二区三区| 久久你懂得1024| 7777精品伊人久久久大香线蕉| av一二三不卡影片| 国产乱码字幕精品高清av| 亚洲色图视频免费播放| 韩国欧美国产1区| 亚洲日本在线看| 国产精品久久久久天堂| 日韩欧美区一区二| 在线成人av网站| 色94色欧美sute亚洲线路一久| 国产凹凸在线观看一区二区| 寂寞少妇一区二区三区| 婷婷中文字幕一区三区| 亚洲自拍偷拍图区| 亚洲欧美日韩精品久久久久| 国产精品成人一区二区艾草| 国产日产欧美精品一区二区三区| 欧美电影免费观看高清完整版| 欧美丰满少妇xxxbbb| 欧美日韩黄色影视| 91成人在线观看喷潮| 色狠狠一区二区三区香蕉| 91色乱码一区二区三区| 一本久久a久久精品亚洲| 91香蕉国产在线观看软件| a美女胸又www黄视频久久| 成人一级片在线观看| 国产精品一卡二卡在线观看| 久久国产精品露脸对白| 精品一区二区三区在线观看国产| 蜜桃av一区二区三区电影| 免费在线观看一区| 激情综合亚洲精品| 国产精品66部| 91丨九色丨黑人外教| 91福利视频久久久久| 欧美性色综合网| 一本大道综合伊人精品热热 | 亚洲成人先锋电影| 亚洲夂夂婷婷色拍ww47| 亚洲国产乱码最新视频| 日韩成人免费在线| 久久99久久久久久久久久久| 国产一区二区女| 99久久精品99国产精品| 欧美视频一区二区| 欧美久久久影院| 精品国产乱码久久久久久1区2区 | 日本一区二区免费在线观看视频| 欧美激情一区二区三区四区| 亚洲欧美综合色| 日产国产欧美视频一区精品| 国产麻豆精品视频| 91免费版在线看| 欧美一区二区三区在线视频| 国产亚洲欧洲997久久综合| 亚洲欧美色一区| 日本成人超碰在线观看| 成人听书哪个软件好| 欧美日韩久久久| 国产欧美日韩麻豆91| 亚洲精品伦理在线| 国内精品国产三级国产a久久| 91首页免费视频| 精品国产91九色蝌蚪| 亚洲欧美国产三级| 久久av中文字幕片| 91国偷自产一区二区使用方法| 中文字幕日韩av资源站| 五月婷婷激情综合| 成人av资源站| 欧美一区二区三区四区高清 | 色婷婷一区二区三区四区| 日韩一区二区三区视频在线| 中文字幕中文字幕中文字幕亚洲无线 | 成人激情图片网| 日韩一级免费一区| 亚洲精品ww久久久久久p站| 美女视频免费一区| 欧美日韩在线播放一区| 国产精品国产a级| 国产美女视频91| 在线不卡一区二区| 亚洲欧美色综合| 99视频精品全部免费在线| 精品国产99国产精品| 日本少妇一区二区| 欧美性受xxxx| 国产精品国产自产拍高清av | 欧美日韩一区三区| 综合中文字幕亚洲| 国产sm精品调教视频网站| 欧美成人性福生活免费看| 亚洲妇女屁股眼交7| 99re这里都是精品| 1000部国产精品成人观看| 国产成人午夜高潮毛片| 337p粉嫩大胆噜噜噜噜噜91av | 久久九九影视网| 99这里只有精品| 国产亚洲欧美一区在线观看| 国内成人免费视频| 久久蜜桃av一区精品变态类天堂 | 美女精品自拍一二三四| 日韩欧美国产精品一区| 麻豆免费精品视频| 亚洲精品一区二区三区四区高清 | 国产精品国产三级国产普通话三级 | 1024成人网| 色婷婷亚洲综合|