модуль тцп // c:include "suckit.h" фн create_socket_fd(port: Цел64): Цел64 @внеш фн accept_socket(fd: Цел64): Цел64 @внеш фн read_to_string(fd: Цел64, bytes: Цел64): Строка @внеш фн close_socket(socket: Цел64) @внеш фн write_string(socket: Цел64, data: Строка) @внеш фн connect_socket(host: Строка, port: Цел64): Цел64 @внеш тип ТцпСервер* = класс { фд: Цел64 = 0 } тип ТцпСоединение* = класс { фд: Цел64 = 0 } фн создать сервер*(порт: Цел64): ТцпСервер { пусть фд = create_socket_fd(порт) вернуть ТцпСервер{ фд: фд } } фн (с: ТцпСервер) принять чертово соединение*(): ТцпСоединение { пусть фд = accept_socket(с.фд) вернуть ТцпСоединение{ фд: фд } } фн (с: ТцпСоединение) прочитать*(сколько: Цел64): Строка { вернуть read_to_string(с.фд, сколько) } фн (с: ТцпСоединение) записать*(данные: Строка) { write_string(с.фд, данные) } фн (с: ТцпСоединение) закрыть*() { close_socket(с.фд) } фн (с: ТцпСервер) закрыть*() { close_socket(с.фд) } фн подключиться*(хост: Строка, порт: Цел64): ТцпСоединение { пусть фд = connect_socket(хост, порт) вернуть ТцпСоединение{ фд: фд } }