Je suis nouveau à Cocoa, mais pas à la programmation. Récemment j'ai décidé que je voulais écrire un client FTP pour Mac, et donc je l'ai d'abord fait dans la langue dans laquelle je suis le plus à l'aise (sur Windows), puis je suis passé à Cocoa.Cocoa NSStream TCP connexion à FTP
Ma question est (apparemment) un peu controversée: Comment puis-je établir une connexion en lecture/écriture à (un serveur ftp)?
Ce que j'ai à ce jour (non travail évidemment):
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];
Ce qui est en partie basé sur http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Streams/Articles/NetworkStreams.html Maintenant, pourquoi ai-je choisi NSStream? Parce que cette question ne concerne que la connexion à un flux FTP, mon projet inclura également SSL et, dans la mesure où j'ai pu effectuer des recherches ici et sur google, NSStream est capable de "passer" à une connexion SSL.
Je n'ai pas été en mesure de voir la connexion en cours (ce que je suis généralement capable de faire), mais j'ai aussi entendu parler de devoir écrire dans le flux avant l'ouverture du flux?
Les pointeurs sont très appréciés, et désolé si ma question est ennuyeux - je suis nouveau à Cocoa :)