Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
13:44
4072
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->
1|2|3|4

АвторСовсем ТРУ программисты
для FireSwarm:
Прежддевременная оптимизация - грубейшая ошибка. Ибо заранее неизвестно, что нужно оптимизировать. И нужно ли вообще

Да тут вообще не поспорить. Особенно учитывая то, что современные компиляторы имеют возможность не тупо переводить все написанное тобой в машинный код, но еще и оптимизировать написанное тобой, и на всякий случай всегда пригодиться лобовой алгоритм для сравнения. Может лобовой алгоритм компилятором оптимизируется намного лучше чем самый замудреный алгоритм, в которых компилятор узрит зависимости всякие(информационные, конкуренционные ... ну и какие там еще бывают в паралельном программировании - я уже забыл).

Да и помню учили что программный продукт составляется по схеме Ватер Фол, что переводится как водопад ))) Причем, по стадиям ты скатываешься все ниже и ниже, но всегда можно вернуться на предыдущий шаг разработки и внести изменения учитывая сложности полученные на более нижних уровнях разработки ))) Забыл только где это нам расказывали, толи в МИФИ, толи в IBM центре, в который нас отправляли на прокачку от МИФИ и выдавали потом сертификаты IBM-овские кстати)))))

Ну не суть))))
для FireSwarm:
для alatir:
Милости прошу на собеседование))

а город?)
Фууууххххх.... вроди вроди установка последнего флага функции в значение
MSG_PEEK позволяет взглянуть на пришедшую информацию, но не считывать её ))) из буфера и не зависать соответственно в ожидании, если данные еще не пришли.....
rc = recv(s,buff,20,MSG_PEEK);


Блин но все равно пока мне не легче, оттого, что при приеме данных из другого сокета, который законекчен на порт, который предложил сервер для получения и отправления по нему данных, функция recv не виснет, даже при отсутствии такого флажка как MSG_PEEK(((

Блин, чтож выходит первый сокет конектится в блокирующем режиме, а второй в не блокирующем. (синхронный\асинхронный) ???

Я чёта пока не пойму... мож кто подскажет )))))


Эхх ну чё пошел дальше ковырять выискивать чёнить... мож найду ответы на насущные вопросы)))
для alatir:
а город?)
Брянск.

для ChinaNoDollar:
Блин, чтож выходит первый сокет конектится в блокирующем режиме, а второй в не блокирующем. (синхронный\асинхронный) ???
В таких случаях обычно спецификацию читают.
для FireSwarm:
В таких случаях обычно спецификацию читают.


Да чёта блин дофига чего читать нужно, а чтобы в одном месте и все доступно было сразу, хрен найдешь(((

Я походу чё-то напутал и recv в обоих случаях виснет, пока не прийдет чёнить))) Но зато благодаря тому что напутал ... нашел как поглядеть не блокируясь - а не пришлоли мне чего интересненького ;)))

А что за спецификации, и где их посмотреть ??? Или ты о том, что сервер решает как будут обстоять дела? Но если так, то как сервер создает такой сокет, конектясь на который я вхожу в режим, который он предложит?)


Да и вообще ... как не блокирующий сокет создать ??? Я чета пока информации не нашел никакой по этому поводу... кроме винапишных сокетов кажись(((
для ChinaNoDollar:
Да чёта блин дофига чего читать нужно, а чтобы в одном месте и все доступно было сразу, хрен найдешь(((
Всё есть, всё доступно. Ты же под виндой?
http://msdn.microsoft.com/en-US/library/3tbz7kf5%28v=vs.80%29.aspx
http://www.sockets.com/winsock.htm#Recv
Вот ещё:
http://msdn.microsoft.com/en-us/library/ms738573%28VS.85%29.aspx
для FireSwarm:
Брянск.
далеко) я уж лучше у себя в Дубне поищу а потмо поближе к Москве переберусь)
для alatir:
далеко)
Да от нас все далеко)))

поближе к Москве переберусь)
Будешь переезжать - едь в Воронеж. Хороший город, + для программистов куча разнообразных вакансий, хорошие зарплаты, хорошие условия переезда. Мне предлагали корпоративное жильё, первый месяц - бесплатно, + подъёмные в размере 1,5 от оклада.
Не было бы мне так хорошо на моём месте, давно был бы там)))
для FireSwarm:
Будешь переезжать - едь в Воронеж. Хороший город, + для программистов куча разнообразных вакансий, хорошие зарплаты, хорошие условия переезда. Мне предлагали корпоративное жильё, первый месяц - бесплатно, + подъёмные в размере 1,5 от оклада.
Не было бы мне так хорошо на моём месте, давно был бы там)))

странно что с воронежа к нам в дубну в магистратуру едут тогда
для alatir:
А магистратура при чём? Вот если бы к вам работать ехали.
для FireSwarm:
для alatir:
А магистратура при чём? Вот если бы к вам работать ехали.

ну они остаются же работать потом-хотя может быть дело в специальности тк не совсем программисты а системные аналитики а таких магистратур по россии только 3.
для FireSwarm:
Всё есть, всё доступно. Ты же под виндой?
Ага, пока под виндой, но потом и под линуксом надо будет, поэтому и не хочется всякую хрень виндовскую использовать особо, дабы переносимость быструю получить без особых проблем)))
Вот ещё:
Пасибо за ссылочки)))
ААААААААА....жесть какая...... хрен найдешь..... как узнать дошлоли твое сообщение до адресата используя tcp сокеты или нет (((( Жесть какая!!!!((((

для FireSwarm:
Спасай))) Очень надо добиться подтверждения о доведении до адресата информации посланной командой send )))))) Чё-та ничего в интернете толкового не найдешь на первых страницах выдачи((( Заспамили чтоли((((
для ChinaNoDollar:
пока под виндой, но потом и под линуксом надо будет
А никогда не задумывался, почему программисты по винду и под линух - разные вакансии? Сокеты там не самая большая проблема будет.

как узнать дошлоли твое сообщение до адресата используя tcp сокеты или нет
Насколько я помню, TCP - это протокол с гарантированной доставкой. Доставки не будет только в случае разрыва соединения, но тогда ошибка возвращается.
для FireSwarm:
А никогда не задумывался, почему программисты по винду и под линух - разные вакансии? Сокеты там не самая большая проблема будет. Неа, не задумывался, но знаю почему оно так и кому оно выгодно)))

Вот тогда не пойму о чем писали в статье citforum'а:
Функция send возвращает управление сразу же после ее выполнения независимо от того, получила ли принимающая сторона наши данные или нет. При успешном завершении функция возвращает количество передаваемых (не переданных!) данных - т. е. успешное завершение еще не свидетельствует от успешной доставке! В общем-то, протокол TCP (на который опираются потоковые сокеты) гарантирует успешную доставку данных получателю, но лишь при условии, что соединение не будет преждевременно разорвано. Если связь прервется до окончания пересылки, данные останутся не переданными, но вызывающий код не получит об этом никакого уведомления! А ошибка возвращается лишь в том случае, если соединение разорвано до вызова функции send!

Взял текст с сайта:
http://citforum.ru/book/cook/winsock.shtml

Мне бы научиться сначала узнавать о наступлении или не наступлении последней ошибки, которую как тут пишут всегда можно проверить)))

Ну а второй вопрос, уже будет как добиться подтверждения получения адресатом моего сообщения.

Сможешь подсказать как узнать это всё?
getsockopt или GetLastError или что-то в этом духе ???
Любопытно... В джаве несколько другая ситуация, если соединение обрывается во время передачи, выбрасывается исключение, так что там чуть проще с этим.
Вообще это нештатная ситуация. Просто проверь, разорвано сообщение или нет, после отправки.
В рсдн что-то есть, может поможет.
http://www.rsdn.ru/article/net/keep_alive.xml
для FireSwarm:
Спасибо ;) Ссылочка вроди в тему)

Но все же пока не нашел способа, как можно гарантированно отправить сообщение и гарантированно его дождаться ;) Наверно попробую сейчас поковырять функцию перевода сокета в блокирующий режим и обратно )))
Думаю падла в таком случае пока не отправит, не успокоится и не вернет мне управление ;))) Пошел ковырять ;)))
1|2|3|4
К списку тем
2007-2025, онлайн игры HeroesWM