6°C
завтра: 5°C
Погода в Перми
6°C
вечером6°C
ночью0°C
завтра5°C
Подробно
 64,07
+0.1238
Курс USD ЦБ РФна 19 апреля
64,0688
+0.1238
 72,24
−0.1162
Курс EUR ЦБ РФна 19 апреля
72,2440
−0.1162
  • Анонимный пользователь
    Пытаюсь написать приложение для передачи данных по сети с использованием winsock2.h.
    Подразумевается работа одного и того же приложения на двух машинах сети с чередованием выполняемых функций (клиент - сервер).

    Трудность как раз на этапе смены режима работы. Не могу понять, какие операции требуются для корректного перехода.

    Правильно ли делать так (на примере перехода из режима сервера в режим клиента):

    1. закрытие сокета, используемого для отправки данных клиентом.
    2. закрытие winsock (WSACleanup())
    3. инициализация winsock
    4. создание сокета для приема сообщения сервером

    ?

  • рыжий котэ

    Сообщений: 12083

    А смысл перехода?
    Сделай двухпоточное приложение, один поток сервера, другой поток клиента, ну и соответственно разруливай синхронизацию между ними.

    Осторожнее с травой!
    Если хапнешь много дряни
    Увезут тебя с собой
    Злые инопланетяне

  • v.i.p.

    Сообщений: 13508

    Как мне кажеться ,что с такой организацией будет немало гемороя. Всё таки лучше кодить многопоточность :спок:

  • activist

    Сообщений: 289

    Насколько я помню работу с сокетами, а это было давно. Есть слущаюший сокет(то бишь сервер) сидищий на определенном порту, при запросе от клиента ты создаешь методом accept (по мойму) новый сокет,опять же, в новом потоке и пускай они себе там разговаривают сколько им угодно. короче на обоих машинах у тебя должны быть слушающие сокеты, т.е. обе машины выступают серверами.

  • Анонимный пользователь
    Обе машины должны выполнять роль как сервера, так и клиента.
    Дело в том, что никак не могу уяснить, что есть многопоточность. Из инетовских ресурсов на этот кейворд вылазят только примеры многопоточности для с++ билдера, где все основывается на событиях, что принципиально не соответствует данной задаче.
    Подскажите, плиз, где почитать на эту тему.
    Или может, кто-нить сумеет объяснить основные моменты в рамках сообщения форума?

    Спасибо.

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

  • v.i.p.

    Сообщений: 13508

    Посмотри, например, здесь. Вообще советую с этим разобраться, т.к. в для некоторых задач это просто суперполезная штука :live: :спок:

  • Анонимный пользователь
    Основы просек.
    Действительно чрезвычайно полезная вещь:улыб:От паскалевского кода я, правда, несколько далек, поэтому пришлось воспользоваться этой статьей.

    Спасибо.

Записей на странице:

Перейти в форум

Модератор: