私のアプリケーションは 1 つの http サーバーを実行したいので、他のデバイスはそこからファイルをダウンロードできます。
私はココアhttpサーバーを使用しており、https ://github.com/robbiehanson/CocoaHTTPServer/blob/master/Samples/DynamicServer/MyHTTPConnection.mに従います。
私のhttp接続は次のとおりです。
@implementation MyHTTPConnection
- (NSObject<HTTPResponse> *)httpResponseForMethod:(NSString *)method URI:(NSString *)path
{
NSString *filePath = [self filePathForURI:path];
// Convert to relative path
NSString *documentRoot = [config documentRoot];
NSString *relativePath = [filePath substringFromIndex:[documentRoot length]];
NSLog(@"file path is %@", filePath);
//return [super httpResponseForMethod:method URI:path];
return [[HTTPFileResponse alloc] initWithFilePath:filePath forConnection:self];
}
@end
デリゲートのコードは次のとおりです。
httpServer = [[HTTPServer alloc] init];
[httpServer setConnectionClass:[MyHTTPConnection class]];
[httpServer setType:@"_http._tcp."];
NSString *webPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"web"];
if(webPath){
NSString * ip = '192.168.1.10';
int port = 3321;
[httpServer setDocumentRoot:webPath];
[httpServer setPort:port];
[httpServer setInterface: ip];
[self startServer];
}
Web ドキュメントでテスト ファイルをダウンロードすると、サイズは常に o バイトになります。