Описание тега swift-nio

Используйте тег swift-nio для вопросов, связанных с инфраструктурой Apple Swift NIO (неблокирующий ввод-вывод).
1 ответ

Использование SwiftNIO и SwiftNIOHTTP2 в качестве клиента HTTP2

В настоящее время я работаю над простым клиентом HTTP2 в Swift, используя SwiftNIO и бета-версию SwiftNIOHTTP2. Моя реализация выглядит так: let group = MultiThreadedEventLoopGroup(numberOfThreads: 1) let bootstrap = ClientBootstrap(group: group) .c…
25 ноя '18 в 11:31
1 ответ

Как выйти из последовательности "Будущее" в одном маршруте Vapor?

Как вычисление может ветвиться из последовательности нескольких Future действия, по одному маршруту Vapor, чтобы вернуть простой String Response что указывает на какой этап был завершен? Возможно ли это в Vapor 3 на основе Swift 4? Future методы cat…
21 июл '18 в 01:39
2 ответа

writeDataUnsupported в ChannelInboundHandler (Swift-NIO)

Я пытаюсь сделать простой эхо-сервер UDP, который отправляет обратно все входящие дейтаграммы с префиксом строки UTF8. В моих попытках достичь этой цели мне удалось отправить обратно входящие данные, но когда я пытаюсь поставить перед этими данными …
13 мар '18 в 20:23
1 ответ

Создание и использование курсора с Vapor 3

Это может быть банка червей, я сделаю все возможное, чтобы описать проблему. У нас долгая работа по обработке данных. Наша база данных действий добавляется в ночное время, а оставшиеся действия обрабатываются. Обработка ночных действий занимает окол…
01 авг '18 в 03:42
1 ответ

Добавить многоканальные конвейерные обработчики в SwiftNIO аналогично Java Netty

Я изучаю, как добавить несколько обработчиков в канальные конвейеры в SwiftNIO. В Java Netty у меня есть следующий код: @Component public class NettyClientFilter extends ChannelInitializer<SocketChannel> { @Autowired private NettyClientHandler…
22 ноя '18 в 12:13
1 ответ

Apple SwiftNIO в CloudRun - это возможно?

Мне нужно реализовать следующую функциональность. Клиентская сторона: приложение для iOS (и Android), вызывающее веб-сервис Серверная сторона: веб-сервис в Goolge Cloud. На стороне сервера должен быть HTTP/2, TLS 1.3 IBM Kitura позволяет очень прост…
1 ответ

Swift-NIO защищенный сервер веб-сокетов

Я пытаюсь создать сервер и клиент websocket в своем приложении для iOS, что мне успешно удалось сделать с помощью примера реализации здесь. ( https://github.com/apple/swift-nio/tree/master/Sources/NIOWebSocketServer) - поэтому в текущей рабочей ситу…
12 авг '19 в 20:45
1 ответ

Как использовать рабочие очереди в SwiftNIO?

У меня есть сервер Swift NIO HTTP2, который обрабатывает запрос в цикле событий контекста. Но я хочу обработать запрос в другом потоке, пуле потоков GCD aync, получить результат и отправить его. public func channelRead(context: ChannelHandlerContext…
20 авг '19 в 22:02
1 ответ

Почему в примере Swift NIO используется преобразование протокола HTTP/2 в HTTP/1?

Какова цель HTTP2ToHTTP1ServerCodec, Почему требуется преобразовать HTTP/2 в протокол HTTP/1? channel.configureHTTP2Pipeline(mode: .server) { (streamChannel, streamID) -> EventLoopFuture<Void> in // For every HTTP/2 stream that the client o…
20 авг '19 в 16:23
1 ответ

Сертификат TLS CA Прикрепление SSL с использованием SWIFT-NIO-SSL

Я пытаюсь использовать SWIFT-NIO-SSL для подключения к серверу с помощью сертификата CA и сертификата сервера. После многочисленных попыток и опробования различных подходов я не смог найти решения. Есть ли какой-либо учебник или помощь в подключении…
05 апр '20 в 23:03
1 ответ

Автоматическое переподключение TCP-клиента Swift-NIO

Я пишу TCP-клиент в Swift-NIO для подключения Netty TCP Server. Я хочу, чтобы tcp-клиент мог автоматически переподключаться при необходимости. import Foundation import NIO class MessageHandler: ChannelInboundHandler { let notificationMessage = NSNot…
13 янв '20 в 17:36
1 ответ

Как использовать async-http-client

Я пытаюсь выполнить пример async-http-clientdoku. Но, к сожалению, код в закрытии не выполняется. Зачем? import AsyncHTTPClient let httpClient = HTTPClient(eventLoopGroupProvider: .createNew) httpClient.get(url: "https://swift.org").whenComplete { r…
21 дек '19 в 11:52
1 ответ

SwiftNIO: соединение не работает, если код находится в классе

Я только начал работать со SwiftNIO и использовал этот код для первой попытки: let group = MultiThreadedEventLoopGroup(numberOfThreads: 1) let bootstrap = ClientBootstrap(group: group) // Enable SO_REUSEADDR. .channelOption(ChannelOptions.socket(Soc…
03 окт '19 в 13:03
1 ответ

Как правильно использовать EventLoopFuture в Swift?

Я новичок в фьючерсах и обещаниях EventLoop. Мой программный стек: Бэкэнд в Go + gRPC Клиент iOS в Swift + SwiftUI + GRPC + NIO У меня есть над чем поработать, и я ищу предложения, как это улучшить, так как я немного потерялся в документации. .map, …
30 ноя '19 в 21:26
1 ответ

Дайджест-аутентификация с использованием async-http-client

Я пытаюсь реализовать дайджест-аутентификацию с использованием async-http-client поверх swiftNIO. Поэтому я использую класс, который использует протокол HTTPClientResponseDelegate. В этом классе в func didReceiveHead(task: HTTPClient.Task<Respons…
07 янв '20 в 21:23
0 ответов

Swift Digest Authentication async-http-client

Я пытаюсь создать дайджест-аутентификацию, используя swift поверх swiftNIO. В конце я получаю следующую ошибку: Операция не может быть завершена. (Ошибка NIO.NIOConnectionError 1.) Вот мой способ: // in the delegate I create my authorizationHeader l…
13 янв '20 в 23:52
1 ответ

Как сделать так, чтобы приложение разрешало входящие сетевые соединения с SwiftNIO?

Я использую MicroExpress для создания веб-сервера вSwiftUIприложение. Я могу подключиться к серверу, когда запускаю приложение в Simulator, но не могу заставить его работать на моем реальном устройстве. MicroExpress (на основе SwiftNIO) создает веб-…
25 ноя '19 в 14:38
2 ответа

Прикованные фьючерсы на SwiftNIO и Vapor

В Vapor 4 я обрабатываю почтовый запрос, вызывая запрос к стороннему API и возвращая значение на основе полученного результата. Следующий код приводит к ошибке: "Недопустимое преобразование из бросающей функции... в не вызывающую функцию" app.post("…
07 мар '20 в 06:55
1 ответ

Привязка сертификатов iOS 13 с помощью слабого шифра перестала работать, но отлично работает в iOS 12

Мне интересно узнать о передаче слабого шифра через NWProtocolTLS.Options(). Поскольку он работает нормально в iOS 12, но в iOS 13 Apple, я думаю, внесли некоторые изменения, поэтому он перестал его принимать. Вот одна вещь: как OpenSSL принимает сл…
1 ответ

Использование таймера Swift в инструменте / демоне командной строки MacOS, который использует Swift-NIO для работы в сети: RunLoop vs wait issue

Я конвертирую инструмент / демон командной строки Swift MacOS для использования Swift-NIO для работы в сети. Это мой первый проект Swift-NIO. Инструмент запускает таймер каждые 0,1 секунды. Вот строка внизу main.swift, которая запускает демон / цикл…
09 июл '20 в 01:08