Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

 Нужно сделать DLL-библиотеку, запускающуюся в WinXP x64. Библиотека представляет собой TCP-сервер, работающий в своем потоке, который может принять соединение от одного клиента и обмениваться с ним данными, которые приходят библиотеке через апи. Два клиента одновременно подключать нельзя, если клиент отвалился, должна быть возможность его переподключения без переинициализации библиотеки. Важно, чтобы методы апей были реализованы асинхронно. 

 Данные из сети нужно бить на пакеты. Дата в пакетах – ASCII строка. Реализацию сетевого протокола предложите простейшую. Важно, чтобы дата была разбита на пакеты, целостность и порядок при должной реализации обеспечит TCP. 

Методы, которые должны торчать из библиотеки наружу: 

1. bool init(int port) 

Метод инициализации, открытия сокета, в параметрах номер порта, возвращает удалось ли. 

2. void addTx(string tx) 

Кинуть пакет данных клиенту, параметр – текстовая строка данных для пакета, возвращает ничего. 

3. string nextRx() 

Получить данные следующего пакета от клиента, если есть. Без параметров, возвращает строку данных из одного пакета или ничего. 

4. void deinit() 

Деинициализация – закрывает сокет, освобождает все ресурсы. После деинициализации должна быть возможность заново дернуть инициализацию. Без параметров. Возвращает ничего. 

Если клиент отваливается во время сеанса связи, нужно уметь ждать его реконнекта и не потерять неотправленной даты. Возникающие ошибки при работе библиотеки кидать в stderr.

9 лет назад
guest_14469761976862
9 лет в сервисе
Был
8 лет назад
Выбранный исполнитель
sbtasm
28 летУкраина
9 лет в сервисе
Был
8 лет назад
9 лет назад
$30
2 дня