Вопрос

Я новичок в какао, но удалось получить соединение (на FTP) вверх и запустить, и я настроил EventHandler для NSINPUTTEAM ISTREAM, чтобы предупредить каждый ответ (который также работает).

То, что мне удается получить, это просто приглашенное сообщение и тайм-аут соединения 60 сек, закрытие управления.

Редактировать: Я предполагаю, что мой вопрос «без закрытия -> Открытие, что будет нехваточный способ промывки выходного потока?

После поиска StackoverFlow и нахождение много проблем записи NSOutputStream (например, Как использовать сообщение записи NSOUTPUTSTREAM?) И много путаницы в моем Google Hit, я подумал, что постараюсь спросить свой вопрос:

Я попробовал читать Doce Developer.apple.com DOC на выходе, но мне кажется почти невозможным отправлять некоторые данные (в данном случае просто строку) в «Соединение» через OSTream NSOUTPUTTREAM.

- (IBAction) send_something: sender
{
const char *send_command_char = [@"USER foo" UTF8String];
send_command_buffer = [NSMutableData dataWithBytes:send_command_char length:strlen(send_command_char) + 1];
uint8_t *readBytes = (uint8_t *)[send_command_buffer mutableBytes];
NSInteger byteIndex = 0;
readBytes += byteIndex;
int data_len = [send_command_buffer length];
unsigned int len = ((data_len - byteIndex >= 1024) ?
                    1024 : (data_len-byteIndex));
uint8_t buf[len];
(void)memcpy(buf, readBytes, len);
len = [oStream write:(const uint8_t *)buf maxLength:len];
byteIndex += len;
}

Приведенное выше, кажется, не приводит к любым использоваемым событиям. Набирая его под NSstreameventhasSpaceavailabilabialable, иногда дайте ответ, если я спам FTP, продолжаю создавать новые экземпляры подключения и продолжать отправлять некоторую команду, когда oStream имеет свободное пространство. Другими словами, ничто не «правильно», и поэтому я до сих пор неясните, как правильно отправить команду на соединение. Должен ли я открыть -> писать -> Закрыть каждый раз, когда я хочу написать на Ostream (и, таким образом, на FTP) и могу ли я тогда ожидать ответа (Hasbytesavailable событие на Istream)? Редактировать: не похоже на нее нет.

По какой-то причине мне очень трудно найти какие-либо четкие учебные пособия по этому вопросу. Похоже, есть более нескольких в том же положении, что и я: неясно, как использовать Ostream Write?

Пожалуйста! Любой маленький бит, который может помочь очистить это, очень ценится!

При необходимости я могу написать остаток кода.

  • Патрон
Это было полезно?

Решение

Хорошо, так что 10 часов 28 просмотров и никаких ответов / комментариев, но это нормально, потому что я просто решил его с помощью некоторой хорошей помощи с очень очень дружелюбного кодера IRSSI (не предназначена для стыка;)).

Он предложил, чтобы я попробовал std :: endl'e it (ньюлайн + flush), и поэтому я попробовал просто добавлять ньюнгилью char ( n, 0x0a), и она работала отлично!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top