Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

кожин / лаба 32

.txt
Скачиваний:
12
Добавлен:
20.03.2016
Размер:
2.35 Кб
Скачать
using System;
using System.Data.Odbc;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace Server
{
    class Server
    {
        TcpListener listener;

        public Server(int port)
        {
            listener = new TcpListener(new IPAddress(new byte[] { 127, 0, 0, 1 }), port);
            listener.Start();

            Console.WriteLine("server started at {0}", listener.LocalEndpoint.ToString());

            Console.WriteLine("waiting for client...");
            TcpClient client = listener.AcceptTcpClient();
            var stream = client.GetStream();
            StreamReader streamReader = new StreamReader(stream, Encoding.Unicode);
            StreamWriter streamWriter = new StreamWriter(stream, Encoding.Unicode);

            while (client.Connected)
            {
                string line = streamReader.ReadLine();

                Console.WriteLine(line);

                using (OdbcConnection con = new OdbcConnection("Dsn=StudBD;uid=mihajlovals;PWD=1234"))
                {
                    con.Open();

                    using (OdbcCommand cmd = new OdbcCommand(line, con))
                    {
                        OdbcDataReader reader = cmd.ExecuteReader();

                        Console.WriteLine(reader.FieldCount.ToString());
                        streamWriter.WriteLine(reader.FieldCount.ToString());

                        while (reader.Read())
                        {
                            streamWriter.WriteLine("1");

                            for (int i = 0; i < reader.FieldCount; ++i)
                            {
                                Console.WriteLine(reader[i].ToString());
                                streamWriter.WriteLine(reader[i].ToString());
                            }
                        }

                        streamWriter.WriteLine("0");
                        streamWriter.Flush();
                    }
                }
            }
        }
        
        ~Server()
        {
            if (listener != null)
            {
                listener.Stop();
            }
        }

        static void Main(string[] args)
        {
            new Server(80);

            Console.ReadLine();
        }
    }
}
Соседние файлы в папке кожин