我无法从客户端读取数据

时间:2014-03-24 13:39:36

标签: c# sockets

出于教育目的,我正在编写一个通过SQL查询的程序。它应该像这样工作:

enter image description here

但接收不会返回任何数据。

private static byte[] ReadToEnd(Socket mySocket)
{
  byte[] b = new byte[mySocket.ReceiveBufferSize];
  int len = 0;
  using (MemoryStream m = new MemoryStream())
  {
      while (mySocket.Poll(1000000, SelectMode.SelectRead) &&
                (len = mySocket.Receive(b, mySocket.ReceiveBufferSize, SocketFlags.None)) > 0)
      {
          m.Write(b, 0, len);
          Console.WriteLine("Я тут");
      }
      Console.WriteLine("и тут");
      return m.ToArray();

   }
}
static void Main(string[] args)
{
    TcpListener myTCP = new TcpListener(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888));
    Console.WriteLine("Прослушиваю порт");
    while (true)
    {   
        myTCP.Start(); // Запускаю процесс прослушивания
        if (myTCP.Pending()) // Если есть запрос
        {
            Console.WriteLine("Соединение добавлено в очередь");
            using (Socket myClient = myTCP.AcceptSocket()) // То создаю сокет для этого запроса
            {
                if (myClient.Connected) // Если сокет открыт, то считываю поток байтов от клиента
                {

                        Console.WriteLine("Открываю сокет для считывания запроса");
                        byte[] sqlQuery = new byte[myClient.ReceiveBufferSize];
                        sqlQuery = ReadToEnd(myClient);    
                }
            }
        }
    }
}

0 个答案:

没有答案