Загрузите файл на сервер Node.js, используя Socket.io-поток из iOS

Я пишу собственный клиент iOS для взаимодействия с сервером Node.js с использованием оболочки Socket.IO-objc . В настоящее время я могу отправлять отдельные события на сервер. Тем не менее, сервер использует Socket.IO-поток для обработки потоков загружаемых файлов, и мне нужно каким-то образом изменить код iOS. У моей оболочки socket.io, похоже, нет соответствующего API для этого. Код принимающего сервера.js выглядит так:

io.sockets.on('connection', function (socket) { console.log("connection occurring"); ss(socket).on('uploadFile', function (stream, data, callback) { //...I can't get a 'stream' to this event for it to work with }); socket.on('passwordLogin', function (data, callback) { //...I can cause these kind of events just fine }); //...other event declarations } 

Я обычно называю события таким образом, и он отлично работает для объявленных событий socket.on:

 [_socket sendEvent:@"passwordLogin" withData:@{...login info...} andAcknowledge:aCallbackBlock]; 

Я считаю, что мне нужно расширить Socket.IO-objc, если нет чего-то, чего я не вижу, с чем-то вроде:

 //TODO: Attempt to expand SocketIO to include streams. - (void) sendEvent:(NSString *)eventName withStream:(NSStream*) stream withData:(id) data andAcknowledge:(SocketIOCallback) function { NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObject:eventName forKey:@"name"]; // do not require arguments if (data != nil) { [dict setObject:[NSArray arrayWithObject:data] forKey:@"args"]; } SocketIOPacket *packet = [[SocketIOPacket alloc] initWithType:@"event"]; packet.data = [SocketIOJSONSerialization JSONStringFromObject:dict error:nil]; packet.pId = [self addAcknowledge:function]; //Is this even a valid approach? packet.stream = stream;//<--NEW BIT if (function) { packet.ack = @"data"; } [self send:packet]; } 

Я довольно потерял то, что нужно делать, никогда не работая с серверными коммуникациями. Я следил за документацией Apple о встроенных объектах NSStream и CFStream, но, похоже, мне не кажется, что я ближе к взаимодействию с событием сервера. Любая помощь приветствуется, поскольку я немного в своем уме.

Interesting Posts

Как получить iOS-устройство и версию в Monotouch

Как установить цвет фона кнопки – xcode

как сравнить два NSMutableArray?

Почему изображение, содержащее launch.xib, не отображается в iOS 7-симуляторах и отлично работает в симуляторах ios 8

Можем ли мы использовать PJSIP / Siphon в нашем приложении SIP Voip

Приложение IOS было убито за низкую память, но не получено предупреждение о сохранении памяти

Представления символа штрихового кода xcode

Нужна помощь в структурировании базы данных

советы по просмотру переменных или обследование объектов в Xcode-отладке

управление и упаковка зависимостей iOS

перезагрузка tableview в соответствии с уведомлением после удаления объекта в coredata показывает странный результат

Получение NSString из NSCFString

Атрибут межсетевого интерфейса iOS для NSMutableAttributedString

Почему выход UICollectionViewCell равен нулю?

получить прогресс от dataTaskWithURL в быстром

Давайте будем гением компьютера.