TCP 연결 앱을 사용하려고했는데 handleEvent에 NSStreamEvent "4"가 표시됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?NSStream 핸들 이벤트 부여 상태 4
내 코드가 같은입니다,
-(void) initNetworkCommunication {
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"localhost", 80, &readStream, &writeStream);
inputStream = (__bridge_transfer NSInputStream *)readStream;
outputStream = (__bridge_transfer NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
}
- (IBAction)didTapButton:(id)sender {
NSString *response = inputTextField.text;
NSLog(@"%@", response);
NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]];
[outputStream write:[data bytes] maxLength:[data length]];
}
- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent {
switch (streamEvent) {
case NSStreamEventOpenCompleted:
NSLog(@"Stream opened");
break;
case NSStreamEventHasBytesAvailable:
NSLog(@"Stream has bytes available");
break;
case NSStreamEventErrorOccurred:
NSLog(@"Can not connect to the host!");
break;
case NSStreamEventEndEncountered:
NSLog(@"Stream closed");
break;
default:
NSLog(@"Unknown event: %@ : %d", theStream, streamEvent);
}
}
콘솔이 제공 서버에 메시지를 보내려고
2012-05-29 13:37:07.132 GestureTrial[24289:f803] Stream opened
2012-05-29 13:37:07.133 GestureTrial[24289:f803] Stream opened
2012-05-29 13:37:07.133 GestureTrial[24289:f803] Unknown event: <__NSCFOutputStream: 0x6b85c70> : 4
. 나는 맥용 tcp 테스터 응용 프로그램으로 시험해 보았는데, 문제가 없을 수도있다. 출력은 장치 및 시뮬레이터에서 동일합니다. 어떤 도움이라도 대단히 감사 할 것입니다.
감사합니다. 나는 교대 조작원과 혼동되었고 서버도 응답하지 않았다. 그래서 나는 상태 4가 약간의 오류에 대한 것이라고 가정하고 있었다. 나는 지금 상태 4를 무시했다. 서버 측이 수정되면 서버에서 메시지를 검색 할 수있었습니다. 명확히하기 위해 다시 한번 감사드립니다. –
여러분을 환영합니다! –