C# Socket编程

来源:互联网 发布:北斗神拳 崇明 岛 知乎 编辑:程序博客网 时间:2024/06/04 00:41

闲着无聊,写了个简单的C/S Socket程序,功能很简单,服务器在9000端口监听socket接入,只要有接入,就发送"Welcome."消息给客户端。

代码分2块,server端:

class Program    {        static void Main(string[] args)        {            TcpListener lsner = new TcpListener(9000);            lsner.Start();            Console.WriteLine("started in port: 9000");            while (true)            {                TcpClient client=lsner.AcceptTcpClient();                Console.WriteLine("new client received. hashcode: {0}", client.GetHashCode());                ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessTcpClient), client);            }            Console.ReadKey();        }        private static void ProcessTcpClient(object state)        {            TcpClient client=state as TcpClient;            if(client==null)                Console.WriteLine("client is null");            NetworkStream ns=client.GetStream();            StreamWriter sw = new StreamWriter(ns);            sw.WriteLine("Welcome.");            sw.Flush();            sw.Close();            client.Close();        }

 

client端:

class Program    {        static void Main(string[] args)        {            IPAddress address = IPAddress.Parse("127.0.0.1");            IPEndPoint ep=new IPEndPoint(address, 9000);            TcpClient client = new TcpClient();            client.Connect(ep);            NetworkStream ns=client.GetStream();            StreamReader sr = new StreamReader(ns);            Console.WriteLine(sr.ReadToEnd());            sr.Close();            sr.Dispose();            ns.Close();            ns.Dispose();            client.Close();            Console.ReadKey();        }    }

 

运行效果图如下:

 

 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>