www.pudn.com > tcp-socket.rar > ooServer.cs


using System; 
//using System.Collections.Generic; 
using System.IO; 
using System.Net.Sockets; 
 
 
namespace SocketDemo 
{ 
    class OOServer 
    {    
        public String  []StrName = {"A","BB","CCC"}; 
        public int  []StrCode = {100,90,70}; 
        static void Main(string[] args) 
        { 
            OOServer ooServer = new OOServer(); 
            Console.WriteLine("init server"); 
            System.Net.Sockets.TcpListener tcpListener; 
             try     
             { 
                //设定监听的端口号 
                 tcpListener = new System.Net.Sockets.TcpListener(8844); 
             } 
             catch 
             { 
                 Console.WriteLine("create TcpListener 8844 is wrong!"); 
                 return; 
             } 
 
            //开始监听 
             tcpListener.Start(); 
             Console.WriteLine("server initialized "); 
             bool loop = true; 
              
             while (loop) 
             { 
                 //监听客户端的连 
                 Socket socket = tcpListener.AcceptSocket(); 
                 //创建一个新的网络流对象用于处理客户端的连接 
                 NetworkStream networkStream = new NetworkStream(socket); 
                 //为了处理方便,创立一个网络流对象,用它可以一次读入一行 
                 StreamReader streamReader = new StreamReader(networkStream); 
                 string commandLine = streamReader.ReadLine(); 
                  
                 //开始处理具体             
                 char split= '#'; 
                 String [] strRec; 
                 strRec = commandLine.Split(split); 
                 int parameternum = strRec.GetLength(0); 
                 strRec[0] = strRec[0].ToUpper(); 
                 Console.WriteLine(strRec[0]); 
                 Console.WriteLine(strRec[1]); 
                 if (strRec[0].Equals("GET")) 
                 { 
                     if (strRec[1].Equals("0")) 
                     { 
                         for (int i =0; i< ooServer.StrName.Length; i++) 
                         { 
                             String str = ooServer.StrName[i]+    "====="+ ooServer.StrCode; 
                             byte[] res = System.Text.Encoding.ASCII.GetBytes(str); 
                             socket.Send(res); 
                         } 
                     } 
                 } 
                 else 
                 { 
                     Console.WriteLine("error command!!"); 
                 } 
 
                 //最后处理完成发一个 空格 表示符,客户端依据此标识来确定是否数据接受完成 。如果没有此表示客户端程序不会退出 
                 String str_end = "\r\n"; 
                 byte[] res_end = System.Text.Encoding.ASCII.GetBytes(str_end.ToCharArray()); 
                 socket.Send(res_end); 
 
              } 
 
 
              
        } 
    } 
}