如何在iOS中使用套接字编程传输文件?

时间:2015-03-17 06:00:59

标签: ios iphone sockets

我致力于使用iOS中的套接字编程将文本消息从一个设备发送到另一个设备。

我成功地做到了这一点,但是使用套接字编程将文件从一个设备传输到另一个设备,我没有可以遵循的教程。我被卡住了。

请帮我解决。

提前致谢。

1 个答案:

答案 0 :(得分:1)

NSData *newData = UIImagePNGRepresentation([UIImage imageNamed:@"Default.png"]);
    int index = 0;
    int totalLen = [newData length];
    uint8_t buffer[1024];
    uint8_t *readBytes = (uint8_t *)[newData bytes];

    while (index < totalLen) {
        if ([outputStream hasSpaceAvailable]) {
            int indexLen =  (1024>(totalLen-index))?(totalLen-index):1024;

            (void)memcpy(buffer, readBytes, indexLen);

            int written = [outputStream write:buffer maxLength:indexLen];

            if (written < 0) {
                break;
            }

            index += written;

            readBytes += written;
        }
    }

如果您的NSData足够大,您需要将其切成碎片。您需要使用字节来传输它们。