Задать вопрос
Ответы пользователя по тегу Серверное оборудование
  • Способ организации обмена данными между 2мя системами

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Джедайская вполне схема первая.
    Ответ написан
  • сервер не подает признаков жизни

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    3. блок питания рабочий

    Каким образом это было определено? Были измерены выходные напряжения при включении и нагрузке? Он был подключен к другому ПК? Он был заменен на заведомо исправный БП? Все очень похоже на неисправный БП: потому что с исправным БП харды запускаются независимо от наличия материнской платы.
    Сервер собирался на столе или в корпусе? При переносе в другую стойку корпус могли немного погнуть/уронить/еще чего-то и где-то что-то могло замкнуть из-за перекоса. Имеет смысл собирать на столе.
    Ответ написан
    3 комментария
  • Веб-сервер своими руками

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вот пара линков полезных: citforum.ru/programming/unix/sockets/ и allasm.ru/set_12.php
    В целом логика под виндой и никсами одинаковая. Самое «сложное» в веб сервере — работа с сокетами. Работает примерно так:
    1. Инициализируем сокеты;
    2. Создаем (socket) — ОС выдаст нам новый сокет;
    3. Настраиваем сокет (setsockopt);
    4. Ассоциируем (bind) этот сокет с айпи и портом;
    5. Начинаем «слушать»(listen) сокет — вообще, слушает ОС, а мы только обрабатываем данные;
    6. В цикле принимаем (accept) соединения — accept возвращает управление и новый сокет как только появится запрос на указанные ранее порт и айпи (иначе INVALID_SOCKET вернет);
    7. Начинаем асинхронный(для проверки/тестов все можно и в одном потоке делать) прием данных (recv) из полученного сокета;
    8. Обрабатываем принятые данные.
    9. Отправляем ответ (send);
    10. После окончания приема закрываем сокет;
    11. Возвращаемся в начало цикла — пункт 6.
    Само собой при асинхронной обработке цикл будет только получать новые сокеты и отдавать их «воркерам» — рабочим потокам.
    В скобках — вызовы апи сокетов, под линуксом почти все то же самое.
    Под виндой все сокеты в Ws2_32.dll.
    Если что непонятно — отвечу в меру своих знаний 8)
    Ответ написан
    1 комментарий