私はココアは初めてですが、プログラミングは初めてです。最近、私は Mac 用の FTP クライアントを書きたいと思ったので、最初は (Windows 上で) 最も使い慣れた言語で作成し、FTP 通信の仕組みがダウンしたときに Cocoa に移行しました。
私の質問は (どうやら) 少し議論の余地があります: (ftp サーバー) への読み取り/書き込み可能な接続を確立するにはどうすればよいですか?
私がこれまでに持っているもの(明らかに機能していない):
NSInputStream *iStream;
NSOutputStream *oStream;
NSHost *host = [NSHost hostWithAddress:@"127.0.0.1"];
[NSStream getStreamsToHost:host port:3333 inputStream:&iStream outputStream:&oStream];
// ftp port: 3333
[iStream retain];
[oStream retain];
[iStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
[oStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
[iStream setDelegate:self];
[oStream setDelegate:self]; // which is not implemented apparently
[iStream open];
[oStream open];
// .... [iStream write: (const uint8_t *)buf maxLength:8];
これは部分的にhttp://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Streams/Articles/NetworkStreams.htmlに基づいています 。なぜ NSStream を選んだのですか? この質問は単に FTP ストリームに接続する方法に関するものですが、私のプロジェクト全体には SSL も含まれており、ここと Google で検索できる限り、NSStream は SSL 接続に「切り替える」ことができます。
接続が行われているのを見ることができませんでしたが (通常はできます)、ストリームが開く前にストリームに書き込む必要があることについても聞いたことがありますか?
私の質問が煩わしい場合は申し訳ありません-私はCocoaが初めてです:)