0

我正在开发一个将数据直接上传到 FTP 服务器的应用程序,我正在使用苹果的simpleFTPSample示例。一切正常,除了当我尝试访问本地网络之外的 FTP 时,我无法连接到 FTP 服务器。

我遇到的问题是我需要使用服务器外部 IP。我正在使用通用 IP 连接服务器,但如何将指示传递给代码以使用服务器外部 IP?我是否必须更改NSOutputStream的某些属性或必须做其他事情?

更新:我一直在修改NSOutputStream,例如:

CFWriteStreamRef writeStreamRef = CFWriteStreamCreateWithFTPURL(NULL, ( __bridge CFURLRef) url);

    //CFWriteStreamSetProperty(writeStreamRef, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanTrue);
    CFWriteStreamSetProperty(writeStreamRef, kCFStreamPropertyFTPUsePassiveMode,kCFBooleanTrue);
    CFWriteStreamSetProperty(writeStreamRef, kCFStreamPropertyFTPFetchResourceInfo, kCFBooleanTrue);
    CFWriteStreamSetProperty(writeStreamRef, kCFStreamPropertyFTPProxy,kCFNull);
    //CFWriteStreamSetProperty(writeStreamRef, kCFStreamPropertyFTPAttemptPersistentConnection, kCFBooleanTrue);
    CFWriteStreamSetProperty(writeStreamRef, kCFStreamSSLIsServer, kCFBooleanFalse);
    CFWriteStreamSetProperty(writeStreamRef, kCFStreamPropertyFTPUserName, (__bridge CFStringRef) self.usernameText.text);
    CFWriteStreamSetProperty(writeStreamRef, kCFStreamPropertyFTPPassword, (__bridge CFStringRef) self.passwordText.text);


    self.networkStream = ( __bridge_transfer NSOutputStream *) writeStreamRef;

我的猜测是我必须对NSOutputStreamNSUrlConnection做一些事情,但我找不到任何地方。

4

1 回答 1

0

我已经通过使用传递给 FTP 服务器的手动命令解决了这个问题。

于 2014-05-17T05:18:38.490 回答