【问题标题】:iOS - Use server external IP in FTPiOS - 在 FTP 中使用服务器外部 IP
【发布时间】:2014-04-03 12:01:17
【问题描述】:

我正在开发一个将数据直接上传到 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 做一些事情,但我找不到任何地方。

【问题讨论】:

  • 拜托,你能告诉我们你的连接代码吗?以更好的方式帮助您
  • 我正在使用 simpleFTPSample Apple 提供的代码。我将发布我对 NSOutputStream 所做的修改的代码。

标签: ios objective-c ftp nsurlconnection nsoutputstream


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 2011-12-16
    • 2018-08-20
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2018-10-02
    相关资源
    最近更新 更多