Objective C에서 MJPEG 뷰어를 만들려고하는데 문제가 많습니다.MJPEG 뷰어 만들기 Iphone
먼저, 호스트에 연결할 수 있도록 AsyncSocket (http://code.google.com/p/cocoaasyncsocket/)을 사용하고 있습니다.
- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port{
NSLog(@"Accepted client %@:%hu", host, port);
NSString *urlString = [NSString stringWithFormat:@"http://kamera5.vfp.slu.se/axis-cgi/mjpg/video.cgi"];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"GET"];
//set headers
NSString *_host = [NSString stringWithFormat:host];
[request addValue:_host forHTTPHeaderField: @"Host"];
NSString *KeepAlive = [NSString stringWithFormat:@"300"];
[request addValue:KeepAlive forHTTPHeaderField: @"Keep-Alive"];
NSString *connection = [NSString stringWithFormat:@"keep-alive"];
[request addValue:connection forHTTPHeaderField: @"Connection"];
//get response
NSHTTPURLResponse* urlResponse = nil;
NSError *error = [[NSError alloc] init];
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"Response Code: %d", [urlResponse statusCode]);
if ([urlResponse statusCode] >= 200 && [urlResponse statusCode] < 300) {
NSLog(@"Response: %@", result);
//here you get the response
}
}
이것은 MJPEG 스트림 호출하지만 그것을 얻기 위해 호출하지 않습니다 여기에
내가 지금까지 didConnectToHost 방법에서 다음NSLog(@"Ready");
asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];
//http://kamera5.vfp.slu.se/axis-cgi/mjpg/video.cgi
NSError *err = nil;
if(![asyncSocket connectToHost:@"kamera5.vfp.slu.se" onPort:80 error:&err])
{
NSLog(@"Error: %@", err);
}
가지고 무엇을 더 많은 데이터. 내가하고있는 일은 데이터의 첫 번째 덩어리를 로딩 한 다음 연결을 끊는 것이라고 생각합니다.
내가 완전히 잘못하고있는 것입니까, 아니면이 터널 끝에 빛이 있습니까?
감사합니다.
누구든지 도움을 줄 수 있나요? 제발 ...... – Tony