Операция не может быть завершена. Сброс соединения с помощью сверстникаIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Операция не может быть завершена. Сброс соединения с помощью сверстника

Сообщение Anonymous »

Я работаю над функциональностью печати, используя программирование сокетов в iOS. Я использую следующий код для открытия потоков и выполнения операций чтения и записи. При открытии потоков делегат вызывается для открытого события как для входных, так и для вывода. Я также получаю событие NSStreamEventhAssPaceaVailable , где я выполняю операцию записи и NSStreamEventhasBytesAvailable событие, где я выполняю операцию чтения. Операция записи успешно происходит в течение первых 2 раза, и после этого я получаю доступное событие байтов, где я пытаюсь выполнить операцию чтения. Каждый раз, когда я получаю -1 в качестве байта, чтение и получение события nsstreameventErroroCcurred с сообщением

"Операция не может быть завершена. Соединение с помощью Peer"

для nsinputStream
Code -code -team для nsInleam code -code -seamout nsInleam code -seamout nsInleam ​​ для nsinupstream ​​ for nsinupstream. Хорошо, когда выступая, чтобы написать в третий раз. Иногда я даже получаю разбитую ошибку трубы. < /P>

Код: Выделить всё

        CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"123.123.12.12",DEFAULT_LPR_PORT, &readStream, &writeStream);
self.inputStream = (__bridge NSInputStream *)readStream;
self.outputStream = (__bridge NSOutputStream *)writeStream;

[self.inputStream setDelegate:self];
[self.outputStream setDelegate:self];

[self.inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

[self.inputStream open];
[self.outputStream open];
< /code>
обработчик событий потока - код метода Dealagate
Bytes Read всегда -1. < /p>
    case NSStreamEventHasBytesAvailable:
{
NSLog(@"NSStreamEventHasBytesAvailable");
if (theStream == inputStream) {

uint8_t buffer[1024];
int len = 0;

while ([self.inputStream hasBytesAvailable]) {
len = [self.inputStream read:buffer maxLength:sizeof(buffer)];
NSLog(@"bytes read len --- :%d ",len);
if (len > 0) {

NSString *output = [[NSString alloc] initWithBytes:buffer length:len encoding:NSUTF8StringEncoding];

if (nil != output) {
NSLog(@"bytes value: %@", output);
}
}
}
}
}
break;
< /code>
errror: < /p>
    2013-09-18 12:27:36.424 SPConnector[1936:907] stream:handleEvent: : 
2013-09-18 12:27:36.428 SPConnector[1936:907] NSStreamEventErrorOccurred localizedDescription --- The operation couldn’t be completed. Connection reset by peer
2013-09-18 12:27:36.430 SPConnector[1936:907] NSStreamEventErrorOccurred domain --- NSPOSIXErrorDomain
2013-09-18 12:27:36.431 SPConnector[1936:907] NSStreamEventErrorOccurred Code --- :54
2013-09-18 12:27:36.432 SPConnector[1936:907] stream:handleEvent: : 
2013-09-18 12:27:36.433 SPConnector[1936:907] NSStreamEventErrorOccurred localizedDescription --- The operation couldn’t be completed. Connection reset by peer
2013-09-18 12:27:36.434 SPConnector[1936:907] NSStreamEventErrorOccurred domain --- NSPOSIXErrorDomain
2013-09-18 12:27:36.435 SPConnector[1936:907] NSStreamEventErrorOccurred Code --- :54
может кто -нибудь сообщить мне, что может быть причиной проблемы?

Подробнее здесь: https://stackoverflow.com/questions/188 ... et-by-peer
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»