Системное программирование в UNIX средствами Free Pascal


         

и несколько клиентских процессов. Что


  (* Обмен данными с сервером *)

  rc := #$a;

  while true do

  begin

    if rc = #$a then

      writeln ('Введите строчный символ');

    c:=char(getchar);

    send (sockfd, c, 1, 0);

    if recv (sockfd, rc, 1, 0) > 0 then

      write (rc)

    else

    begin

      writeln ('Сервер не отвечает');

      fdclose (sockfd);

      halt (1);

    end;

  end;

end.

Упражнение 10.1. Запустите приведенную программу сервера и несколько клиентских процессов. Что произойдет после того, как все клиентские процессы завершат работу?

Упражнение 10.2. Измените код программ так, чтобы после того, как все клиентские процессы завершат свою работу, сервер также завершал работу после заданного промежутка времени, если не поступят новые запросы на соединение.

Упражнение 10.3. Измените код программ так, чтобы два взаимодействующих процесса выполнялись на одном и том же компьютере. В этом случае сокет должен иметь коммуникационный домен AF_UNIX.


Содержание  Назад  Вперед