NSOutputStream 刷新

2023-12-09

我正在开发 iPhone 应用程序并想使用:

CFStreamCreatePairWithSocketToHost(NULL, url, port, &serverReadStream, &serverWriteStream);

然后使用:

[serverWriteStream write:[sendData bytes] maxLength:[sendData length]];

我想发送 5 字节的小包来获取实时更新。

我现在的问题是,流仅在缓冲区已满时发送数据。所以我需要某种刷新方法或告诉流立即发送数据。

搜索这个问题最终找到了“TCP_NODELAY”,它似乎属于未记录的API(我不能将其用于AppStore,如果我错了请纠正我),即使我可能被允许使用它,我也必须改变流的创建,对吧?


Cocoa NSOutputStream 发送到连接

只需在字符串中添加“行尾”(“\n”)即可。为我工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSOutputStream 刷新 的相关文章

  • 配置innodb_flush_method = O_DIRECT引起mysqldump慢

    今天配置my cnf修改一些参数 xff0c mysqldump备份数据时发更慢了几倍 xff0c 由原来的七分钟左路变成要20多分钟才能完成 经测试发现注释innodb flush method 61 O DIRECT后就正常了 下面文章
  • BufferedWriter 的 flush() 方法

    package com corpus import java io import java util List import edu stanford nlp ling HasWord import edu stanford nlp lin
  • Flush-Cache/Page-Lock/Flush-TLB说明

    Flush Cache Page Lock Flush TLB说明 理论上顺序 xff1a 获得页面锁 xff0c 保证后续flush操作完成之前不允许继续读写Flush cacheFlush tlb 以下用numa migrate pag
  • 刷新不起作用

    Why fflush 不起作用c2 and c0 如果我使用声明c0 0 and c2 0它有效 但是fflush stdin 不起作用 我尝试放在不同的地方 但它不起作用 我在 ubuntu 13 04 中使用代码块 int main v
  • 刷新 Perl STDIN 缓冲区

    有没有办法清除 Perl 中的 STDIN 缓冲区 我的程序的一部分有很长的输出 有足够的时间让某人输入几个字符 在输出之后我要求输入 但是如果在输出期间输入了字符 它们将被 附加 到输入中输入的任何内容上部分 这是我的问题的一个例子 fo
  • 为什么 printf 在调用后不会刷新,除非格式字符串中有换行符?

    为什么printf除非格式字符串中有换行符 否则调用后不会刷新 这是 POSIX 行为吗 我怎么可能有printf每次都立即冲水 The stdout默认情况下 流是行缓冲的 因此只会在到达换行符 或被告知时 后显示缓冲区中的内容 您有几个
  • Python sys.stderr 刷新频率

    sys stderr 多久刷新一次缓冲区 这是不同环境中的标准吗 gt gt gt import sys gt gt gt sys stderr
  • Socket tcp C# 如何清除输入缓冲区?

    我正在为 Windows Phone 编写一个应用程序 我需要与服务器通信并传输数据 SERVER是用C 编写的 我无法修改它 客户是我必须写的 服务器被设计为客户端连接到它并传输数据 连接对于所有传输都保持打开状态 通过用 C 编写代码
  • 如何保证所有数据都已物理写入磁盘?

    据我了解 NET FileStream 的 Flush 方法仅将当前缓冲区写入磁盘 但依赖于 Windows 的磁盘驱动程序和硬盘固件 这不能保证数据实际上物理写入磁盘 有没有 NET 或 Win32 方法可以给我这样的保证 因此 如果在调
  • 如何在另一个线程上正确打开和关闭 NSStream

    我有一个应用程序在另一个线程上使用 NSStream 连接到服务器 如果用户决定注销 应用程序还会关闭连接 问题是我永远无法在用户断开连接时成功关闭流或线程 下面是我的代码示例 介绍了如何为我的网络创建线程并尝试关闭流 NSThread n
  • bytesWritten,但其他设备从未收到 NSStreamEventHasBytesAvailable 事件

    我已经在 iPhone 和 Mac 之间建立了 Bonjour 网络 用户在 Mac 中显示的表格中选择 iPhone 的网络服务 并在两侧创建并打开一对流 iPhone 首先向 Mac 发送一个代码 整数 Mac成功接收 用户输入和处理暂
  • std::ofstream::close() 实际上做了什么?

    这个问题 如何保护日志免受应用程序崩溃的影响 https stackoverflow com questions 16267984 how to protect log from application crash把我引向另一个 什么意思s
  • C# 刷新 StreamWriter 和 MemoryStream

    我使用以下代码片段 我不确定是否需要调用Flush方法 一旦StreamWriter 一旦开启MemoryStream converts an xsd object to the corresponding xml string using
  • 刷新 boost::iostreams::zlib_compressor。如何获得“同步刷新”?

    是否需要一些魔法才能获得 zlib 同步刷新 http www bolet org pornin deflate flush html使用时boost iostreams zlib compressor http www boost org
  • PHP - 使用 Ajax 刷新 While 循环数据

    使用PHP 我想创建一个 while 循环来读取大文件并在请求时发送当前行号 使用 Ajax 我想获取当前的行数并将其打印到页面上 使用 html 按钮 我希望能够单击并激活或终止仅运行一次并调用阿贾克斯方法 我已经尝试过 但由于某种原因
  • 我无法初始化 NSInputStream

    请帮助我 我快疯了 我需要创建一个NSInputStream这样我就可以通过 wifi 从相机读取实时预览 liveViewStream 是一个NSInputStream 在我的实现中声明的实例变量 如下所示 implementation
  • IntelliJ Idea 调试/运行控制台; System.out.flush 不刷新

    这几天一直困扰着我 因为它曾经有效 我升级了我的intellij 现在它不起作用了 我不想回去 但我需要一个答案 因此 我正在编写一个控制台应用程序 当它运行时 我希望有一个 shell 来显示进度 它在运行时工作正常 但是当我在 Inte
  • 如何刷新“RandomAccessFile”(java)?

    我在java中使用RandomAccessFile file new RandomAccessFile filename rw file writeBytes 如何确保这些数据刷新到操作系统 没有 file flush 方法 请注意 我实际
  • 强制 Node.js 刷新对子进程的写入

    我生成一个这样的子进程 var child require child process var proc child spawn python my script py p example 我还设置了一些数据处理 proc stdin se
  • 刷新jsp文件时线程锁定

    在重负载下 当 GZipping 和解压缩 JSP 文件时 我看到很多线程被锁定 线程转储如下所示 似乎来自大小为 14Kb 的 header jsp http 0 0 0 0 8080 304 daemon prio 3 tid 0x00

随机推荐