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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chatserverform.cs

?? 100個(gè)非常有趣的C語(yǔ)言UNIX程序?qū)嵗?。可以在?lè)趣中練習(xí)C語(yǔ)言編程。
?? CS
字號(hào):
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace ChatServer
{
	/// <summary>
	/// Summary description for Form1.
	/// </summary>
	public class ChatServer : System.Windows.Forms.Form
	{
		/// <summary>
		/// Required designer variable.
		/// </summary>
		private System.ComponentModel.Container components = null;
		private int listenport = 5555;
		private TcpListener listener;
		private System.Windows.Forms.ListBox lbClients;
		private ArrayList clients;
		private Thread processor;
		private Socket clientsocket;
		private Thread clientservice;

		public ChatServer()
		{
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();
			clients = new ArrayList();
			processor = new Thread(new ThreadStart(StartListening));
			processor.Start();
		}

		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			this.lbClients = new System.Windows.Forms.ListBox();
			this.SuspendLayout();
			// 
			// lbClients
			// 
			this.lbClients.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.lbClients.ItemHeight = 16;
			this.lbClients.Location = new System.Drawing.Point(16, 8);
			this.lbClients.Name = "lbClients";
			this.lbClients.Size = new System.Drawing.Size(264, 228);
			this.lbClients.TabIndex = 0;
			// 
			// ChatServer
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(292, 273);
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
																		  this.lbClients});
			this.Name = "ChatServer";
			this.Text = "ChatServer";
			this.ResumeLayout(false);

		}
		#endregion
		protected override void OnClosed(EventArgs e)
		{
			try
			{
				for(int n=0; n<clients.Count; n++)
				{
					Client cl = (Client)clients[n];
					SendToClient(cl, "QUIT|");
					cl.Sock.Close();
					cl.CLThread.Abort();
				}
				listener.Stop();
				if(processor != null)
					processor.Abort();
			}
			catch(Exception ex)
			{
				Console.WriteLine(ex.ToString() );
			}
			base.OnClosed(e);
		}
		private void StartListening()
		{
			listener = new TcpListener(listenport);
			listener.Start();
			while (true) {
				try
				{
					Socket s = listener.AcceptSocket();
					clientsocket = s;
					clientservice = new Thread(new ThreadStart(ServiceClient));
					clientservice.Start();
				}
				catch(Exception e)
				{
					Console.WriteLine(e.ToString() );
				}
			}
			//listener.Stop();
		}
		private void ServiceClient()
		{
			Socket client = clientsocket;
			bool keepalive = true;

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

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

				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;
					//string add = ep.ToString();
					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.Name + " : " + c.Host.ToString());
					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<c; n++)
					{
						Client cl = (Client)clients[n];
						SendToClient(cl, clientcommand);
						if(cl.Name.CompareTo(tokens[1]) == 0)
						{
							remove = n;
							found = true;
							lbClients.Items.Remove(cl);
							//lbClients.Items.Remove(cl.Name + " : " + cl.Host.ToString());
						}
					}
					if(found)
						clients.RemoveAt(remove);
					client.Close();
					keepalive = false;
				}
			} 
		}
		private void SendToClient(Client cl, string message)
		{
			try{
				byte[] buffer = System.Text.Encoding.ASCII.GetBytes(message.ToCharArray());
				cl.Sock.Send(buffer,buffer.Length,0);
			}
			catch(Exception e){
				cl.Sock.Close();
				cl.CLThread.Abort();
				clients.Remove(cl);
				lbClients.Items.Remove(cl.Name + " : " + cl.Host.ToString());
				//MessageBox.Show("Could not reach " + cl.Name + " - disconnected","Error",
				//MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
			}
		}
		private string GetChatterList()
		{
			string chatters = "";
			for(int n=0; n<clients.Count; n++)
			{
				Client cl = (Client)clients[n];
				chatters += cl.Name;
				chatters += "|";
			}
			chatters.Trim(new char[]{'|'});
			return chatters;
		}

		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new ChatServer());
		}
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区电影| 亚洲精品乱码久久久久久久久 | 欧美亚一区二区| www.成人在线| 欧美三日本三级三级在线播放| 国产白丝精品91爽爽久久| 色综合天天性综合| 91精品国产全国免费观看| 久久众筹精品私拍模特| 日韩一二三区视频| 亚洲地区一二三色| 99精品视频免费在线观看| 精品国产一区二区三区不卡 | 欧美一区二区三区电影| 欧美精品aⅴ在线视频| 久久综合狠狠综合久久激情 | 久久精品国产**网站演员| 99在线视频精品| 中文字幕在线观看不卡| 韩国av一区二区三区在线观看| 久久久噜噜噜久噜久久综合| 岛国av在线一区| 精品盗摄一区二区三区| 在线观看日韩电影| 国产美女一区二区三区| 青青草91视频| 亚洲电影在线播放| 日韩一区在线免费观看| 国产欧美一区视频| 久久综合久色欧美综合狠狠| 欧美videos大乳护士334| 91精品国产一区二区三区香蕉| 在线观看成人免费视频| 97aⅴ精品视频一二三区| 不卡影院免费观看| 国产99久久久久久免费看农村| 日本伊人午夜精品| 日韩成人午夜电影| 五月婷婷久久综合| 香港成人在线视频| 亚洲成av人综合在线观看| 亚洲综合久久久久| 亚洲国产美女搞黄色| 亚洲国产日韩综合久久精品| 亚洲一区二区在线观看视频| 亚洲一区二区免费视频| 一区二区三区免费在线观看| 一区二区三区国产精华| 亚洲精品国产第一综合99久久| 亚洲精品美国一| 偷拍日韩校园综合在线| 五月综合激情婷婷六月色窝| 石原莉奈一区二区三区在线观看| 蜜臀av一级做a爰片久久| 久久国产尿小便嘘嘘尿| 国产一区二区网址| 成人综合婷婷国产精品久久蜜臀| 国产成人日日夜夜| 91色porny在线视频| 欧美亚洲精品一区| 欧美一卡2卡3卡4卡| 精品人伦一区二区色婷婷| 精品国产电影一区二区| 欧美一区二区三区播放老司机| 成人免费看视频| 欧美性大战久久久久久久蜜臀| av一区二区不卡| av亚洲精华国产精华精华| 狠狠色综合日日| 美日韩一区二区三区| 日韩和欧美一区二区| 爽好多水快深点欧美视频| 国产欧美日韩亚州综合| 亚洲久草在线视频| 91麻豆免费在线观看| 亚洲男人的天堂在线aⅴ视频| 久久99日本精品| 精品sm在线观看| 久久先锋影音av鲁色资源网| 91久久奴性调教| 欧美在线一二三四区| 欧美另类videos死尸| 久久综合久久99| 亚洲伦理在线免费看| 久久av老司机精品网站导航| 91一区二区三区在线播放| 欧美久久久久免费| 国产精品视频看| 日韩福利电影在线观看| 不卡的av电影在线观看| 欧美二区三区91| 国产精品国产三级国产普通话蜜臀| 一区二区三区不卡视频在线观看 | 国产欧美一区二区在线| 亚洲欧美另类小说| 激情小说欧美图片| 色综合久久99| 国产亚洲美州欧州综合国| 一区二区三区欧美日| 国产精品一区2区| 欧美一区二区三区日韩视频| 亚洲欧洲av在线| 国产又粗又猛又爽又黄91精品| 在线观看一区日韩| 欧美激情一区在线| 麻豆一区二区三| 欧美日韩国产色站一区二区三区| 国产精品美女久久久久久久网站| 久久99精品久久久久婷婷| 91国偷自产一区二区使用方法| 久久精品视频免费| 久久精品国产网站| 欧美男女性生活在线直播观看| 亚洲欧洲性图库| 国产精品综合二区| 精品少妇一区二区三区日产乱码 | 亚洲欧美日韩电影| 国产成都精品91一区二区三| 欧美一区二区三区播放老司机| 一区二区欧美在线观看| 不卡的电影网站| 国产精品美女久久久久av爽李琼| 国产精品免费视频一区| 国产精品影视在线| 天堂蜜桃一区二区三区| 欧美蜜桃一区二区三区| 亚洲电影一区二区| 欧美日韩成人综合天天影院| 一区二区久久久久| 在线免费观看视频一区| 亚洲最大成人网4388xx| 成人av在线网| 亚洲日本免费电影| 欧美性猛片aaaaaaa做受| 国产不卡视频一区二区三区| 狠狠狠色丁香婷婷综合激情 | 日韩av二区在线播放| 欧日韩精品视频| 一区二区免费看| 欧美性一级生活| 亚洲永久精品大片| 日本乱人伦一区| 一区二区不卡在线播放| 欧美在线啊v一区| 偷拍亚洲欧洲综合| 日韩美女一区二区三区四区| 久久精品国产99| 国产午夜亚洲精品理论片色戒 | 奇米影视7777精品一区二区| 欧美一二三区精品| 亚洲国产成人精品视频| 在线精品视频免费播放| 亚洲成a人v欧美综合天堂下载| 制服丝袜中文字幕一区| 理论电影国产精品| 久久日韩粉嫩一区二区三区 | 欧美中文字幕久久| 一区二区三区精品在线| 欧美另类z0zxhd电影| 激情六月婷婷综合| 国产视频911| 99re热视频这里只精品| 午夜精品久久久久久| 青青草伊人久久| 91黄视频在线观看| 久久麻豆一区二区| 老司机午夜精品99久久| xnxx国产精品| 91在线观看高清| 亚洲第一激情av| 久久久国际精品| 91传媒视频在线播放| 免费观看在线色综合| 中文字幕不卡的av| 欧美乱妇15p| 高潮精品一区videoshd| 一区二区免费看| 久久青草国产手机看片福利盒子 | 全国精品久久少妇| 日本一区二区三区在线观看| 欧美在线制服丝袜| 国产精品亚洲一区二区三区在线| 伊人婷婷欧美激情| 久久亚区不卡日本| 精品视频123区在线观看| 国产在线精品视频| 一区二区三区精品在线观看| 精品国产麻豆免费人成网站| 色婷婷综合视频在线观看| 经典一区二区三区| 国产a级毛片一区| 在线观看日韩毛片| 亚洲欧美经典视频| 日韩午夜激情电影| 亚洲国产成人在线| 亚洲高清三级视频| 成人网在线播放| 欧美另类一区二区三区| 久久久九九九九| 亚洲综合在线视频|