- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经尝试过 NSTask > NSData 方法,但是对于超过 1GB 的任何内容,CPU/内存开销都非常大,因此我需要找到一种方法来执行此操作,例如 FTP 服务器可以做到这一点。
编辑:远程桌面的复制文件是如何做到的?
最佳答案
我想我明白了。我必须将其以小字节大小的形式读入内存(哈哈,明白双关语了吗?),然后以这种方式传输。请记住,这仅适用于文件,不适用于目录。我在 450MB 文件上对其进行了测试,大约 3 分钟即可完成复制,字节数与源文件完全相同。这是一个视频,当我将其流式传输到客户端时,我也可以播放它。很漂亮吧?
言归正传,这是我使用的代码,稍微修改了一下以进行简单的文件复制,而不是通过网络进行复制。
[[NSFileManager defaultManager] createFileAtPath:@"/path/to/file/dest" contents:nil attributes:nil];
NSFileHandle *output = [NSFileHandle fileHandleForWritingAtPath:@"/path/to/file/dest"];
uint64 offset = 0;
uint32 chunkSize = 8192;
NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:@"/path/to/file/source"];
NSAutoreleasePool *autoreleasePool = [[NSAutoreleasePool alloc] init];
NSData *data = [handle readDataOfLength:chunkSize];
NSLog(@"Entering Loop.");
while ([data length] > 0) {
[output seekToEndOfFile];
[output writeData:data];
offset += [data length];
NSLog(@"Switching Loop.");
[autoreleasePool release];
autoreleasePool = [[NSAutoreleasePool alloc] init];
[handle seekToFileOffset:offset];
data = [handle readDataOfLength:chunkSize];
}
NSLog(@"Exited Loop.");
[handle closeFile];
[autoreleasePool release];
[output closeFile];
[output release];
关于objective-c - 如何使用 AsyncSocket 通过网络传输大文件/目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814525/
我正在使用(或尝试...)AsyncSocket 连接到服务器,但即使服务器未运行它也始终会连接...我正在使用 SDK 3.1.2。有人以前遇到过这个问题吗? #import "mluPresent
我正在尝试使用以下代码捕获来自.NET服务器的响应。 进行telnet测试有效(我得到响应);但是,使用此代码,我没有得到回应。 -(IBAction)connectClicked:(id)sende
我写了一个 TCP 套接字服务器。一般来说,我希望有以下行为: A Listening Socket can accept N Connections (There a multiple Listen
与使用(双向)NetworkStream 的异步 IO 相关,MSDN说“每次调用 BeginRead 都必须调用一次 EndRead。” 即使对于 EndRead() 将抛出异常的情况,例如在发出
我在尝试使用 AsyncSocket 时遇到了一个奇怪的问题。在我的应用程序中,我实际上需要同步套接字,因为我自己在不同的级别上处理后台的所有通信。所以我尝试围绕 AsyncSocket 类 Sync
我正在尝试从另一个类启动套接字(不在“applicationDidFinishLaunching”中),因此,在 AppDelegate.m 中,我调用类 netClass: - (void)appl
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
是否可以使用 AsyncSocket 执行以下操作: while (“响应包”未被读取) do { 从读取流中读取至少前 5 个字节,并从中提取“响应数据包”长度大小。 继续阅读,直到达到“响应数据包
我是 AsyncSocket 的新手,我正拼命尝试让它连接到端口 5222 (xmpp) 上的 Facebook 聊天服务器 (chat.facebook.com),它做得很好。在 facebook
我已经在 iPad 上测试了此代码: // execute the function when press button - (IBAction)connect:(id)sender { //
我在 iPhone 上使用 AsyncSocket 与服务器通信。 AsyncSocket 基于运行循环,但我的应用程序基于线程。这意味着,我启动一个新线程来写入数据并等待,直到在同一线程上收到响应。
我一直使用 cocoaasyncsocket 作为使用 asyncsocket 的 Windows .net 服务器的客户端。我正在使用 ProtocolBuffers 编码消息。这些共同构成了一套很
我正在使用 asyncsocket 创建与 Objective C 的套接字连接。我使用“connectToHost”方法来执行此操作。我正在尝试处理套接字连接失败的情况。当连接成功时,“connec
GCDAsyncSocket 和 AsyncSocket 标题都声明它们是异步的,两者看起来很相似。然而,关于套接字的所有内容都是关于处理来自 TCP 数据包的无限长度的单个连续流。起初,我有点困惑,
我正在 iOS 中开发 Asyncsocket 客户端。 https://github.com/robbiehanson/CocoaAsyncSocket 我怎么知道服务器和客户端之间的套接字连接何时
我正在尝试编写一个应用程序以通过 CocoaAsyncSocket 库发送/接收数据。 在应用程序的第一个版本中,套接字是在 View Controller 中创建/初始化的,我还在其中放置了正确调用
一个是GCD另一个是Runloop?很抽象,我的TCP连接怎么选择?非常感谢,我只在github上找到了如何使用GCDAsyncSocket,但不知道如何选择。 最佳答案 希望对你有帮助: Even
我使用 GCDAsyncSocket 让 iPhone 客户端连接到服务器。服务器在 Windows 服务器上运行 .Net。连接很好,发送数据也很好。 然后我告诉客户端在发送后直接进入接收... [
我已经尝试过 NSTask > NSData 方法,但是对于超过 1GB 的任何内容,CPU/内存开销都非常大,因此我需要找到一种方法来执行此操作,例如 FTP 服务器可以做到这一点。 编辑:远程桌面
我已经使用 ASyncSocket 成功地将我的服务器连接到套接字连接。现在我正在尝试进行 SSL 握手以使用 SSL 连接服务器。知道如何进行吗? 最佳答案 AsyncSocket 的 Connec
我是一名优秀的程序员,十分优秀!