Обновить
6
0

Пользователь

Отправить сообщение
Вообще не вижу смысла о чём-то говорить если в винде пишите int sd а не SOCKET sd
За этим заканчиваю обсуждение.
Значение ~0 зависит от типа. Двоичное представление у него в виде всех единиц: для знакового это будет соответствовать -1, для беззнакового максимальное допустимое значение.
WinSock.h
typedef UINT_PTR        SOCKET;

#define INVALID_SOCKET  (SOCKET)(~0)

Разницу между -1 и ~0 надеюсь объяснять не надо?
Уже ответили что в винде не -1. Товарищи, разрабатывающие pvs studio пишут про эту ошибку чуть ли не в каждой статье.
К тому же в MSDN вполне чёрным по белом что ошибка функции accept это именно INVALID_SOCKET, а не что-то другое. И именно на него надо проверять если нет желания когда-то потом мучаться с совместимостью и переносимостью кода.
Стоило хотя бы упомянуть что код ошибки стоит проверять что это действительно всё ок для неблокирующего вызова. Это всего пара лишних макросов чтобы свести к единому виду, можно даже было бы привести в статье.

Вы же сами ответили:

Я в примерах вижу в цикле вызывает accept без каких либо других действий внутри цикла. А обработка коннекта идёт после выхода из него.
Чем это отличается блокирующего вызова кроме ухудшения производительности из-за слипа?
Должно быть примерно так всё же:
while(1) {
  accept
  ...
  // делаем что-то там нам нужное со старыми открытыми коннектами или с новым
}
...
// закрваем сокеты
Вместо дескриптора сокета accept теперь вернет значение (-1).

Вы же кроссплатформенный код пишите, нельзя так делать. accept возвращает -1 в никсах, а в винде она возращает INVALID_SOCKET который ещё надо проверить и убедиться что там WSAEWOULDBLOCK, а не ошибка.

И немного не понял смысл замены блокирующего вызова на зацикленный неблокирующий.
Неблокирующий сокет нужен для обработки циклом клиентов и приёма новых конектов в одной ните, вместо разнесения этих операций по разным нитям.
Было бы неплохо. Играешь под свою музыку, тут сюжетное видео какое-нить начинается — плеер сам ставит паузу или заметно снижает громкость. Ты без лишних тыканий по хоткеем для плеера и уж тем более без сворачивания игры смотришь видео и потом всё назад включается.
Вы как первый день живёте. Всё что не шибко крупное обычно всё регистрируется на ответственного за это дело сотрудника или начальника какого-нить, который через неделю может уволиться. Тут видимо такой же случай.
Кстати, существует какая-то нормативка на регистрацию официальных сайтов гос органов?
Было бы желание.
Если не ошибаюсь то все платежи в системе любой может просмотреть? Вот кто хочет регистрирует себе кошелёк в налоговой, и всегда можно будет посмотреть сколько бабла надо стрясти и затребовать отчёт кто и за что переводил на кошелёк для проверок на финансирование терроризма.
Но зачем оно им надо если курс не контролируют и вообще пока не готовы к таким валютам?
Ну почему же? Борются не с биткоином, а с теми кто на нём зарабатывает и скорее всего не платит налоги делится.
Почитай внимательно, из 7к+ игроков поучаствовавших в битве одновременно онлайн было две с половиной тыщи. Хотя наверняка были и те кто провёл весь бой в онлайне.
Лучше 1 сек за 10, чем краш сервера и вообще никакой битвы.
Раз не могут контролировать — надо запретить. Всё логично.
Как только найдут способ иметь с этого деньги так обязательно разрешат.
Это я и имел ввиду что параноикам не прокатит, а кто-то другой наверняка заинтересуется.
Наверняка сервис найдёт своих пользователей, а параноики на то и параноики.
Ещё файлик атачить можно было бы…
Хочется верить, что после этой статьи не начнут куда ни попадя пихать flip-flop.
Я бы не отказался от котика на работе.
Думаю скоро, Unreal Engine 3 уже портировали на WebGL с оптимизацией под asm.js. Вполне бодренько так летает (в ФФ).
www.unrealengine.com/html5/
В Москве, я думаю, тыщ за 5 были бы самые дешёвые билеты, а то и больше.
Никакого холивара. Я высказал своё мнение что си был бы полезнее в дальнейшем схожестью с современными языками.
Как уже сказали выше сложность зависит от преподавателя.
Си разве появился намного позже паскаля? Скорее действительно дело в том что «В педвузах чаще преподавали» и наличии обучающего материала.
И я не согласен что для начального обучения программированию все 3 вышеуказанных языка — прошлое. На яве или плюсах сразу чтоли учить писать?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность