На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Unable to read data from the transport connection
    Добрый день! Вот такая беда. В сетевом программировании не долго, по этому требуется Ваша помощь!

    Сервер:

    TcpListener server = new TcpListener(“192.168.1.1”, 1300);
    server.Start();
    Byte[] bytes = new Byte[255];
    Object message = null;
    Int32 i;
    while (true)
    {
    Socket socket = server.AcceptSocket();
    if(socket.Connected)
    {
    //connected
    }
    socket.Close()
    }

    Клиент:

    TcpClient client = new TcpClient(“192.168.1.1”, 1300)
    {
    NetworkStream stream = client.GetStream();
    Byte[] data = System.Text.Encoding.GetEncoding(1251).GetBytes(“Test”);
    stream.Write(data, 0, data.Length);
    }
    client.Close();

    Выкидывает ошибку:
    Unable to read data from the transport connection: Удаленный хост принудительно разорвал существующее подключение

    В чем дело, из - за чего такая фигня не пойму. Прошу у Вас помощи
    Спасибо
    С Уважением Александр.
      Заключи код метода и код вызова в try catch и попробуй отловить ошибку, а вообще такая штука может возникать по разным причинам. Например из-за файрвола.
        juice
        ExpandedWrap disabled
          Заключи код метода и код вызова в try catch

        Так я вообщем то так и сделал.
        Сообщение отредактировано: RDAlex -
          Имелось ввиду, код на сервере и код на клиенте

          Добавлено
          Вот пример клиента из МСДН http://msdn2.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx
          Вот пример сервера от туда же http://msdn2.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx

          Проверил пример рабочий.
            RDAlex, ты как разобрался? а то у меня такая же фигня, После одного-двух переданных сообщений выскакивает эта ошибка... :(
              KIR, привет немного изменил сервер и усе, стало работать.
              ExpandedWrap disabled
                //Сервер
                public void server()
                {
                   try
                   {
                     IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName());
                     TcpListener server = new TcpListener(ips[0], 1300);
                     server.Start();
                     Byte[] data = new Byte[255];
                     Object message = null;
                     Int32 i;
                     while (true)
                     {
                          using (Socket socket = server.AcceptSocket())
                          {
                               message = null;
                               NetworkStream stream = new NetworkStream(socket);
                               i = stream.Read(data, 0, data.Length);
                               message = Encoding.GetEncoding(1251).GetString(data, 0, i);
                               MessageBox.Show(message.ToString());
                          }
                     }
                   }
                   catch (Exception ex) { MessageBox.Show(ex.Message); }
                }
                 
                //Клиент
                public void client()
                {  
                    Byte[] _messages = System.Text.Encoding.GetEncoding(1251).GetBytes("привет");
                    try
                    {
                       using (TcpClient client = new TcpClient(hostName, 1300))
                       {
                           NetworkStream stream = client.GetStream();
                           stream.Write(_messages, 0, _messages.Length);
                       }
                   }
                   catch (Exception ex) { MessageBox.Show(ex.Message); }
                }
              1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0221 ]   [ 15 queries used ]   [ Generated: 19.05.24, 19:37 GMT ]