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

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

?? form1.cs

?? 聊天室程序的代碼下載(客戶端與服務器器端)
?? CS
字號:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Net.Sockets;
using System.Threading;
using System.Net;
using System.Text;

namespace test_socket
{
	/// <summary>
	/// Form1 的摘要說明。
	/// </summary>
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.ListBox lbClients;
		private TcpListener listener;
		private int listenport = 5555;
		private Socket clientsocket;
		private Thread clientservice;
		private Thread th;
		ArrayList clients = new ArrayList();
		/// <summary>
		/// 必需的設計器變量。
		/// </summary>
		private System.ComponentModel.Container components = null;

		public Form1()
		{
			//
			// Windows 窗體設計器支持所必需的
			//
			InitializeComponent();
			th = new Thread(new ThreadStart(StartListening));//新建一個用于監聽的線程
         th.Start();//打開新線程
			//
			// TODO: 在 InitializeComponent 調用后添加任何構造函數代碼
			//
		}

		/// <summary>
		/// 清理所有正在使用的資源。
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows 窗體設計器生成的代碼
		/// <summary>
		/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
		/// 此方法的內容。
		/// </summary>
		private void InitializeComponent()
		{
			this.lbClients = new System.Windows.Forms.ListBox();
			this.SuspendLayout();
			// 
			// lbClients
			// 
			this.lbClients.ItemHeight = 12;
			this.lbClients.Location = new System.Drawing.Point(8, 8);
			this.lbClients.Name = "lbClients";
			this.lbClients.Size = new System.Drawing.Size(480, 364);
			this.lbClients.TabIndex = 0;
			// 
			// Form1
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(496, 389);
			this.Controls.Add(this.lbClients);
			this.Name = "Form1";
			this.Text = "Form1";
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// 應用程序的主入口點。
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}
		
		private void StartListening() 
		{ 
           listener = new TcpListener(listenport); 
           listener.Start(); 
           while (true) 
           { 
          Socket s = listener.AcceptSocket(); 
         clientsocket = s; 
         clientservice = new Thread(new ThreadStart(ServiceClient)); 
         clientservice.Start(); 
		   }
		}  
		private void ServiceClient() 
		{ 
			Socket client = clientsocket; 
			bool keepalive = true; 


			while (keepalive) 
			{ 
				Byte[] buffer = new Byte[2048]; 
				client.Receive(buffer); 
				string clientcommand = System.Text.Encoding.Default.GetString(buffer); 


				string[] tokens = clientcommand.Split(new Char[]{'|'}); 


				if (tokens[0] == "CONN") 
				{  
					for(int n=0; n<clients.Count;n++)
					{ 
						Client cl = (Client)clients[n]; 
						SendToClient(cl, "JOIN|" + tokens[1]); 
					} 
					EndPoint ep = client.RemoteEndPoint; 
					Client c = new Client(tokens[1], ep, clientservice, client); 
					clients.Add(c); 
					string message = "LIST|" + GetChatterList() +"\r\n"; 
					SendToClient(c, message); 
					lbClients.Items.Add(c);
				} 
				if (tokens[0] == "CHAT") 
				{ 
					for(int n=0; n<clients.Count;n++)
					{ 
						Client cl = (Client)clients[n]; 
						SendToClient(cl, clientcommand); 
					} 
				} 
				if (tokens[0] == "PRIV") 
				{ 
					string destclient = tokens[3]; 
					for(int n=0; n<clients.Count;n++)
					{ 
						Client cl = (Client)clients[n]; 
						if(cl.Name.CompareTo(tokens[3]) == 0) 
							SendToClient(cl, clientcommand); 
						if(cl.Name.CompareTo(tokens[1]) == 0) 
							SendToClient(cl, clientcommand); 
					} 
				} 
				if (tokens[0] == "GONE") 
				{ 
					int remove = 0; 
					bool found = false; 
					int c = clients.Count; 
					for(int n=0; n<clients.Count;n++)
					{ 
						Client cl = (Client)clients[n]; 
						SendToClient(cl, clientcommand); 
						if(cl.Name.CompareTo(tokens[1]) == 0) 
						{ 
							remove = n; 
							found = true; 
							lbClients.Items.Remove(cl); 
						} 
					} 
					if(found) 
					clients.RemoveAt(remove); 
					client.Close(); 
					keepalive = false; 
				} 
			} 
		}  
		private void SendToClient(Client client,string str)
		{
			byte[] msg = Encoding.Default.GetBytes(str);
            client.Sock.Send(msg);
		}
		private string GetChatterList()
		{
			string u_name = "";
			for(int n=0; n<clients.Count;n++)
			{ 
				
				Client cl = (Client)clients[n]; 
				u_name=u_name+cl.Name.ToString()+"|";
			} 
			return u_name;
		}
	}
	public class Client 
	{ 
		private Thread clthread; 
		private EndPoint endpoint; 
		private string name; 
		private Socket sock; 

		public Client(string _name, EndPoint _endpoint, Thread _thread, Socket _sock) 
		{ 
			// TODO: 在此處添加構造函數邏輯 
			clthread = _thread; 
			endpoint = _endpoint; 
			name = _name; 
			sock = _sock; 
		} 

		public override string ToString() 
		{ 
			return endpoint.ToString()+ " : " + name; 
		} 

		public Thread CLThread 
		{ 
			get{return clthread;} 
			set{clthread = value;} 
		} 

		public EndPoint Host 
		{ 
			get{return endpoint;} 
			set{endpoint = value;} 
		} 

		public string Name 
		{ 
			get{return name;} 
			set{name = value;} 
		} 

		public Socket Sock 
		{ 
			get{return sock;} 
			set{sock = value;} 
		} 
	} 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色哟哟亚洲精品| 在线亚洲+欧美+日本专区| 尤物av一区二区| 精品日韩欧美一区二区| 欧美在线一二三| 国产91对白在线观看九色| 亚洲成人在线免费| 国产精品久久久久久久久久免费看 | 欧美日韩一区在线| 国产91精品精华液一区二区三区| 五月激情综合色| 国产精品国产三级国产三级人妇| 欧美电视剧在线看免费| 欧洲精品视频在线观看| 成人黄页毛片网站| 精品一区中文字幕| 天天做天天摸天天爽国产一区| 亚洲图片欧美激情| 国产欧美一区二区精品仙草咪| 欧美一区二区三区四区视频 | 欧美日韩亚洲国产综合| 91丝袜国产在线播放| 国产传媒久久文化传媒| 国产一区二区在线观看视频| 老司机精品视频导航| 亚洲第一狼人社区| 亚洲自拍偷拍图区| 亚洲一区二区视频| 亚洲国产一区在线观看| 一区二区欧美在线观看| 一区二区三区成人在线视频| 中文字幕日本乱码精品影院| 欧美国产精品一区二区| 欧美激情一区三区| 中文字幕精品一区二区三区精品| 国产亚洲精久久久久久| 久久久综合精品| 国产亲近乱来精品视频 | 亚洲国产精品久久艾草纯爱| 亚洲精品自拍动漫在线| 亚洲精品欧美专区| 一区二区三区在线播| 一区二区在线观看视频在线观看| 亚洲激情图片qvod| 五月天国产精品| 美女视频黄久久| 激情久久久久久久久久久久久久久久| 另类的小说在线视频另类成人小视频在线 | 国产精品欧美极品| 国产精品福利在线播放| 亚洲另类在线制服丝袜| 亚洲成人午夜影院| 看片的网站亚洲| 激情综合色播五月| 成人亚洲精品久久久久软件| www.亚洲免费av| 91九色02白丝porn| 91精品国产一区二区三区| 欧美精品一区二区三区高清aⅴ| 久久精品人人做人人综合| 中文字幕日韩欧美一区二区三区| 一区二区三区91| 热久久国产精品| 国产精品羞羞答答xxdd| 91麻豆精东视频| 欧美一级二级在线观看| 国产欧美日本一区视频| 一卡二卡三卡日韩欧美| 免费高清视频精品| 国产成人8x视频一区二区 | 欧美日韩一区二区三区在线看| 欧美日韩大陆在线| 久久久亚洲欧洲日产国码αv| 中文字幕欧美一| 日韩av中文在线观看| 国产成人亚洲综合a∨婷婷| 95精品视频在线| 91精品国产黑色紧身裤美女| 国产欧美日韩另类视频免费观看| 亚洲一区二区偷拍精品| 国产精品一区二区三区乱码| 色婷婷av一区二区三区软件 | 91福利国产精品| 精品国产91久久久久久久妲己| 中文字幕亚洲视频| 奇米影视7777精品一区二区| 成人av综合在线| 制服丝袜av成人在线看| 国产精品免费人成网站| 日本不卡的三区四区五区| youjizz久久| 精品欧美一区二区三区精品久久| 自拍视频在线观看一区二区| 麻豆成人免费电影| 色美美综合视频| 久久精品一区二区三区不卡| 日韩中文字幕91| 91在线视频免费91| 337p日本欧洲亚洲大胆精品 | 韩日av一区二区| 欧美丝袜第三区| 国产精品女主播在线观看| 男女男精品网站| 色婷婷av一区| 国产精品久久久久久久久晋中| 极品少妇xxxx精品少妇偷拍| 欧美在线短视频| 中文字幕一区二区在线播放| 久久国产精品99久久久久久老狼| 欧美性猛片xxxx免费看久爱| 国产精品久久久久久久久动漫 | 337p亚洲精品色噜噜噜| 一区二区在线观看免费视频播放| 高清beeg欧美| 久久久久国产免费免费| 久久97超碰国产精品超碰| 欧美一级欧美一级在线播放| 亚洲一区二区三区四区中文字幕| 白白色 亚洲乱淫| 国产欧美一区二区精品忘忧草| 看国产成人h片视频| 日韩欧美激情一区| 免费高清视频精品| 日韩一区二区三区观看| 日韩黄色在线观看| 欧美女孩性生活视频| 午夜精品久久久久久久久久久| 欧美中文字幕一区| 亚洲夂夂婷婷色拍ww47| 色噜噜狠狠色综合欧洲selulu| 国产精品国产馆在线真实露脸| 成人av电影在线| 国产精品久久久久久户外露出 | 欧美日韩免费一区二区三区视频| 亚洲三级在线免费观看| 99视频一区二区| 亚洲男同1069视频| 欧洲国内综合视频| 亚洲一区二区精品久久av| 欧美最新大片在线看| 亚洲国产精品一区二区久久恐怖片 | 91精品福利在线一区二区三区| 午夜视频在线观看一区二区三区| 欧美视频在线一区二区三区 | 欧美三级电影在线观看| 亚洲国产wwwccc36天堂| 欧美日韩久久久久久| 日日夜夜精品视频免费| 欧美mv日韩mv国产网站| 韩国精品免费视频| 中文字幕巨乱亚洲| 一本在线高清不卡dvd| 午夜伊人狠狠久久| 精品伦理精品一区| 成人免费视频一区二区| 亚洲免费视频中文字幕| 欧美日韩国产小视频| 蜜臀av一区二区在线观看| 久久久精品一品道一区| 91视频在线看| 日韩黄色免费网站| 久久久www成人免费毛片麻豆| 高清av一区二区| 亚洲国产视频一区| 2023国产精华国产精品| 不卡高清视频专区| 午夜精品久久久久久久99水蜜桃| 日韩精品一区国产麻豆| 处破女av一区二区| 亚洲一区二区偷拍精品| 久久亚洲捆绑美女| 91久久精品网| 精品一区二区三区在线观看| 国产精品亲子伦对白| 欧美日韩国产色站一区二区三区| 久久99精品久久久久婷婷| 亚洲女人小视频在线观看| 欧美一区二区在线播放| 国产一区二区美女| 一区二区三区日韩精品视频| 日韩欧美激情一区| 日本精品视频一区二区| 免费看日韩a级影片| 亚洲日本电影在线| 久久综合九色综合欧美就去吻 | 美女视频黄久久| 亚洲欧美日韩系列| 亚洲精品一区二区三区福利| 一本大道综合伊人精品热热| 韩国女主播一区二区三区| 亚洲在线视频一区| 一区二区理论电影在线观看| 欧美精品一区二区蜜臀亚洲| 在线看日韩精品电影| 国产剧情一区二区| 亚洲成人av在线电影| 亚洲欧洲日韩综合一区二区| 精品国产1区2区3区| 在线观看91精品国产麻豆| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 |