Добавил:
Mendeleev
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
(* уЕТЧЕТ *)
uses sockets,linux,stdio;
const
SIZE=sizeof(tinetsockaddr);
(* мПЛБМШОЩК УЕТЧЕТОЩК РПТФ *)
server:tinetsockaddr = (family:AF_INET; port:7000; addr:INADDR_ANY);
client_len:longint=SIZE;
var
sockfd:longint;
c:char;
(* уФТХЛФХТБ, ЛПФПТБС ВХДЕФ УПДЕТЦБФШ БДТЕУ РТПГЕУУБ 2 *)
client:tinetsockaddr;
begin
(* хУФБОПЧЙФШ БВПОЕОФУЛХА ФПЮЛХ УПЛЕФБ *)
sockfd := socket (AF_INET, SOCK_DGRAM, 0);
if sockfd = -1 then
begin
perror ('пЫЙВЛБ ЧЩЪПЧБ socket');
halt (1);
end;
(* уЧСЪБФШ МПЛБМШОЩК БДТЕУ У БВПОЕОФУЛПК ФПЮЛПК *)
if not bind (sockfd, server, SIZE) then
begin
perror ('пЫЙВЛБ ЧЩЪПЧБ bind');
halt (1);
end;
(* вЕУЛПОЕЮОЩК ГЙЛМ ПЦЙДБОЙС УППВЭЕОЙК *)
while true do
begin
(* рТЙОЙНБЕФ УППВЭЕОЙЕ Й ЪБРЙУЩЧБЕФ БДТЕУ ЛМЙЕОФБ *)
if recvfrom (sockfd, c, 1, 0, tsockaddr(client), client_len) = -1 then
begin
perror ('уЕТЧЕТ: ПЫЙВЛБ РТЙ РТЙЕНЕ');
continue;
end;
c := upcase (c);
(* рПУЩМБЕФ УППВЭЕОЙЕ ПВТБФОП *)
if sendto (sockfd, c, 1, 0, tsockaddr(client), client_len) = -1 then
begin
perror ('уЕТЧЕТ: ПЫЙВЛБ РТЙ РЕТЕДБЮЕ');
continue;
end;
end;
end.
uses sockets,linux,stdio;
const
SIZE=sizeof(tinetsockaddr);
(* мПЛБМШОЩК УЕТЧЕТОЩК РПТФ *)
server:tinetsockaddr = (family:AF_INET; port:7000; addr:INADDR_ANY);
client_len:longint=SIZE;
var
sockfd:longint;
c:char;
(* уФТХЛФХТБ, ЛПФПТБС ВХДЕФ УПДЕТЦБФШ БДТЕУ РТПГЕУУБ 2 *)
client:tinetsockaddr;
begin
(* хУФБОПЧЙФШ БВПОЕОФУЛХА ФПЮЛХ УПЛЕФБ *)
sockfd := socket (AF_INET, SOCK_DGRAM, 0);
if sockfd = -1 then
begin
perror ('пЫЙВЛБ ЧЩЪПЧБ socket');
halt (1);
end;
(* уЧСЪБФШ МПЛБМШОЩК БДТЕУ У БВПОЕОФУЛПК ФПЮЛПК *)
if not bind (sockfd, server, SIZE) then
begin
perror ('пЫЙВЛБ ЧЩЪПЧБ bind');
halt (1);
end;
(* вЕУЛПОЕЮОЩК ГЙЛМ ПЦЙДБОЙС УППВЭЕОЙК *)
while true do
begin
(* рТЙОЙНБЕФ УППВЭЕОЙЕ Й ЪБРЙУЩЧБЕФ БДТЕУ ЛМЙЕОФБ *)
if recvfrom (sockfd, c, 1, 0, tsockaddr(client), client_len) = -1 then
begin
perror ('уЕТЧЕТ: ПЫЙВЛБ РТЙ РТЙЕНЕ');
continue;
end;
c := upcase (c);
(* рПУЩМБЕФ УППВЭЕОЙЕ ПВТБФОП *)
if sendto (sockfd, c, 1, 0, tsockaddr(client), client_len) = -1 then
begin
perror ('уЕТЧЕТ: ПЫЙВЛБ РТЙ РЕТЕДБЮЕ');
continue;
end;
end;
end.
Соседние файлы в папке 10