Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 22.04.2014, 23:13   #1
IT-Lopata
7 - классник
Форумчанин
 
Аватар для IT-Lopata
 
Регистрация: 27.03.2014
Адрес: с.Чугуево
Сообщений: 215
Репутация: 15
Вопрос Работа с неблокирующими сокетами

Сервер отправляет на клиент несколько одинаковых структур (пачку от других подобных клиентов), как их там выгрести? socket.avalable постоянно растет несмотря на то что выполняется чтение receive, но я так подозреваю что не все выгребается а как можно выгребать все? И ни чего если я все сетевое взаимодействие на таймеры повесил 50-10мс ?
IT-Lopata вне форума   Ответить с цитированием
Старый 23.04.2014, 09:00   #2
IT-Lopata
7 - классник
Форумчанин
 
Аватар для IT-Lopata
 
Регистрация: 27.03.2014
Адрес: с.Чугуево
Сообщений: 215
Репутация: 15
По умолчанию

пацаны что вообще никаких думок нет?

может нужно receive в клиентах в отдельный поток сажать а в нем вечный цикл по выборке пока socket.avalable > 0 ?

У меня простая школьная задача для 6 кл. средней школы с.Чугуево.
Есть два типа приложения в проекте. Клиенты до 12 шт. и Выделенный сервер. сервер собирает сообщения от клиентов и потом отсылает каждому клиенту столько пакетов сколько активных клиентов. но клиенты видят только свои пакеты. как с этим бороться ? если я на сервере шлю сразу 10 одинаковых структур каждому? как их считать отдельно на стороне клиента все, а не одну первую?
IT-Lopata вне форума   Ответить с цитированием
Старый 23.04.2014, 09:10   #3
Streletz
Профессионал
 
Регистрация: 03.01.2014
Сообщений: 2,584
Репутация: 1059
По умолчанию

Код отправки и код чтения данных в студию! Без кода, в данном случае, практически ничего непонятно в плане причин возникновения проблемы.
Цитата:
У меня простая школьная задача для 6 кл. средней школы с.Чугуево.
Школа случаем не с углублённым изучением ИТ?
__________________
Мой скромный Web-сайт
Фриланс проекты не принимаю.

Последний раз редактировалось Streletz; 23.04.2014 в 09:14.
Streletz вне форума   Ответить с цитированием
Старый 23.04.2014, 11:15   #4
IT-Lopata
7 - классник
Форумчанин
 
Аватар для IT-Lopata
 
Регистрация: 27.03.2014
Адрес: с.Чугуево
Сообщений: 215
Репутация: 15
По умолчанию

Цитата:
Школа случаем не с углублённым изучением ИТ?
Нет, это обычная захолустная школа.


Цитата:
Код отправки и код чтения данных в студию! Без кода, в данном случае, практически ничего непонятно в плане причин возникновения проблемы.
Вот пожалуйста.
Код.
Клиент http://pastebin.com/id2RptFf
Сервер http://pastebin.com/1jFEdVDD

Я думаю что проблема в принятии данных клиентом. отсылка вроде норм для всех? сервер видит всех клиентов присваивает им ID. но клиент не адекватно себя ведет.
IT-Lopata вне форума   Ответить с цитированием
Старый 23.04.2014, 17:27   #5
IT-Lopata
7 - классник
Форумчанин
 
Аватар для IT-Lopata
 
Регистрация: 27.03.2014
Адрес: с.Чугуево
Сообщений: 215
Репутация: 15
По умолчанию

Пацаны ну разве никто не писал сетевые танчики ?

У меня задача в пределе именно такая, щас тренируюсь просто на птичках, чтобы нормально отображались для начала они и сервак работал.
IT-Lopata вне форума   Ответить с цитированием
Старый 23.04.2014, 18:45   #6
pu4koff
ПрофессионалФорумчанин
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,450
Репутация: 3613
По умолчанию

Почему нигде нет проверки на предмет количества отправленных и принятых байт? Я бы не был так уверен, что вся информация отправляется и принимается одним махом, ибо тут TCP, а не UPD протокол и деления на пакеты нет.
__________________
http://coub.com/view/2hhtg
pu4koff вне форума   Ответить с цитированием
Старый 23.04.2014, 23:08   #7
IT-Lopata
7 - классник
Форумчанин
 
Аватар для IT-Lopata
 
Регистрация: 27.03.2014
Адрес: с.Чугуево
Сообщений: 215
Репутация: 15
По умолчанию

Цитата:
Я бы не был так уверен, что вся информация отправляется и принимается одним махом
Даже если размер структуры 28 байт? если сервер нагружен двумя клиентами то каждый должен получать по 56 байт по тику таймера.

А как я могу промониторить сколько отправлено и сколько осталось ?

Цитата:
ибо тут TCP, а не UPD протокол и деления на пакеты нет.
Как бы я отдаю на переправку структуру и рассчитываю её же получить на другом конце, вроде TCP-сокеты как раз должны справиться с такой легкой задачей.
IT-Lopata вне форума   Ответить с цитированием
Старый 23.04.2014, 23:37   #8
pu4koff
ПрофессионалФорумчанин
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,450
Репутация: 3613
По умолчанию

Цитата:
Сообщение от IT-Lopata Посмотреть сообщение
Даже если размер структуры 28 байт?
Никогда нельзя быть ни в чём уверенным
Цитата:
Сообщение от IT-Lopata Посмотреть сообщение
А как я могу промониторить сколько отправлено и сколько осталось ?
Send и Receive возвращают количество отправленных и полученных байт соответственно.
Цитата:
Сообщение от IT-Lopata Посмотреть сообщение
Как бы я отдаю на переправку структуру и рассчитываю её же получить на другом конце, вроде TCP-сокеты как раз должны справиться с такой легкой задачей.
TCP работает на потоках, а не на пакетах, ему эти структуры по боку. Вполне может треть структуры отправить по первому Send, две трети по второму и то же самое с получением.
__________________
http://coub.com/view/2hhtg
pu4koff вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с сокетами Thief_Brother Работа с сетью в Delphi 25 27.02.2012 11:04
Работа с сокетами в php Detka.i.alex PHP 0 30.08.2010 17:15
Работа с сокетами zumm Работа с сетью в Delphi 10 28.03.2010 15:30
**Работа с сокетами** Яр|/||< (^_^) Работа с сетью в Delphi 4 11.07.2009 18:10
Работа с сокетами vasilii_terkin Работа с сетью в Delphi 2 13.02.2007 12:08


08:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru