Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Socket.Receive, Length 0 ? 
V
    Опции темы
Exai1e
Дата 6.7.2008, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: нет
Всего: 30



Здравствуйте, возникла такая проблема.
Есть клиент на Socket'ах. Есть сервер. Клиент отсылает данные серверу:
Код

Sock.Send(Encoding.ASCII.GetBytes(SendDate)); //encoding           }


Сервер принимает и отсылает обратно. Прием осуществляю вот так:
Код

            public void Receive()
            {
                this.RecStatus = true;
                while (true)
                {
                    int receivedDataLength = Sock.Receive(ReceiveDate);

                    if (receivedDataLength > 0) //почемуто сюда он не заходит не разу, хотя сервер отсылает данные
                    {
                        rec = Encoding.ASCII.GetString(ReceiveDate, 0, receivedDataLength);                    
                        Console.WriteLine(rec);
                    }
                }
            }

Хотелось бы узнать, почему Length не становится > 0 ?хотя сервер данные отсылает. По циклу while(true) бегает все время.
Спасибо.



--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Partizan
Дата 6.7.2008, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 67



Exai1e, то что сервер данные отослал, ещё не гарантирует что адресат их примет


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
wotker
Дата 7.7.2008, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: 1
Всего: 5



Если клиент и сервер на одном компьютере - данные передаются?
Если нет - выложите весь код. 
 smile  Не понимаю: почему Вы не пользуетесь высокоуровневымы обертками над сокетами? smile 
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
Exai1e
Дата 10.7.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: нет
Всего: 30



Partizan, Сервер на Delphi, он рабочий это точно, писал под него клиента на Delphi все нормально. Код клиента:

Код

            TcpClient cl;// = new TcpClient();
            Socket Sock; // socket
            Thread ReceiveThread;// = new Thread();
...

            public void BeginReceive()
            {
                try
                {
                    ReceiveThread = new Thread(new ThreadStart(this.Receive));
                    ReceiveThread.Start();
                    Sock = cl.Client;
                }
                catch
                {
                 
                }
            }

...
            public void Receive()
            {
                this.RecStatus = true;
                while (true)
                {
                    int receivedDataLength = Sock.Receive(ReceiveDate);

                    if (receivedDataLength > 0)
                    {
                        rec = Encoding.ASCII.GetString(ReceiveDate, 0, receivedDataLength);                    
                        Console.WriteLine(rec);
                        //CheckString(rec);
                    }
                }
            }


клиент подключается нормально, при подключении я посылаю серверу текст, сервер его принимает, сервер тоже отсылает данные.


wotker, Сервер и клиент на одном компьютере.

Цитата(wotker @  8.7.2008,  00:51 Найти цитируемый пост)
smile  Не понимаю: почему Вы не пользуетесь высокоуровневымы обертками над сокетами? smile  

Что подразумевается под "высокоуровневымы обертками" ?
Спасибо.


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
QryStaL
Дата 10.7.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: нет
Всего: 32



Цитата(Exai1e @  10.7.2008,  11:46 Найти цитируемый пост)
Что подразумевается под "высокоуровневымы обертками" ?

Например, System.Net.Sockets.TcpClient


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
Exai1e
Дата 10.7.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: нет
Всего: 30



QryStaL, 
Спасибо, вроде вопрос решен) дальше сам smile


Это сообщение отредактировал(а) Exai1e - 10.7.2008, 14:16


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
beespace
Дата 30.6.2010, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.6.2010

Репутация: нет
Всего: нет



Цитата(Exai1e @ 10.7.2008,  14:16)
QryStaL, 
Спасибо, вроде вопрос решен) дальше сам smile


внегласное правило:
Решил вопрос - расскажи другим!


PM MAIL   Вверх
VirusUZ
  Дата 20.7.2010, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

Репутация: нет
Всего: -2



--------------------
Virus
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.