TCPIP传送协议

来源:互联网 发布:php书籍推荐 编辑:程序博客网 时间:2024/06/05 07:05

以下代码实现在客户端查询成绩(数据库在服务器端):

 客户端:

       static void Main(string[] args)
        {
            string str = null;
            while (str != Convert.ToString(0))
            {
                Console.WriteLine("输入你要查询的课程名称:");
                str = Console.ReadLine();
                send(str);
            }

            Console.Read();
        }
        private static void send(string sendstr)
        {
            TcpClient client = new TcpClient("127.0.0.1", 5000);
            NetworkStream ns = client.GetStream();
            byte[] btsend = Encoding.UTF8.GetBytes(sendstr);
            try
            {
                ns.Write(btsend, 0, btsend.Length);
            }
            catch (SocketException sex)
            {
                Console.WriteLine(sex.Message);
            }

            byte[] btrec = new byte[50];
            ns.Read(btrec, 0, btrec.Length);
            string recstr = Encoding.UTF8.GetString(btrec);
            Console.WriteLine(DateTime.Now.ToShortTimeString() + "/nServer: " + recstr);
            ns.Close();
            client.Close();
        }

 

服务器端:

        private static SqlConnection con = new SqlConnection("server=LISHIC;uid=sa;pwd=;database=exceltosql");
        private static SqlCommand cmd = new SqlCommand();
        static void Main(string[] args)
        {
            IPAddress ipc = IPAddress.Parse("127.0.0.1");
            TcpListener listener = new TcpListener(ipc, 5000);
            listener.Start();

            while (true)
            {
                TcpClient tc = listener.AcceptTcpClient();
                NetworkStream ns = tc.GetStream();
                byte[] btfromc = new byte[100];
                ns.Read(btfromc, 0, btfromc.Length);
                string strfromc = Encoding.UTF8.GetString(btfromc);
                Console.WriteLine(DateTime.Now.ToShortTimeString() + "/nClient: " + strfromc);
                byte[] btback = Encoding.UTF8.GetBytes(getgrade(strfromc));
                ns.Write(btback, 0, btback.Length);
                ns.Close();
                tc.Close();
            }
        }
        private static string getgrade(string str)
        {
            string strreturn = null;
            cmd.Connection = con;
            cmd.CommandText = "select * from grade where courses like '" + str + "'" ;
            con.Open();
            SqlDataReader reader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            if (reader.Read())
            {
                strreturn = "课程名称: " + reader.GetString(1) + "/n学分: " + reader["credit"].ToString() + "/n成绩: " + reader.GetInt32(5);
            }
            else
            {
                strreturn = "没有符合要求的科目";
            }
            con.Close();
            return strreturn;

        }

原创粉丝点击