c++ - Windows Mobile 上的 setsockopt TCP_NODELAY 问题

标签 c++ windows-mobile

我在 Windows Mobile 6.0 上遇到问题。 我想创建一个没有的 TCP 连接 使用 Nagle 算法,所以它会在我调用时发送我的数据 “发送”功能,并且不缓冲调用,有太多 数据量小。

我尝试了以下方法:

bool b = 真; setsockopt(socketfd, IPPROTO_TCP, TCP_NODELAY, (char*)(&b), sizeof(BOOL));

它在桌面上运行良好。但是在 Windows Mobile 上,如果我 设置这个值,然后我查询它,返回 值为8。网络流量分析表明, 什么都没有改变。

有什么方法可以强制刷新我的套接字吗?

最佳答案

在我看来,Windows 移动版不支持 TCP_NODELAY 选项。查看 MSDN 文档,它可能会产生某种影响,但我记得有一段时间在设置一些套接字选项(包括 TCP_NODELAY 和设置发送和接收缓冲区)时苦苦挣扎,并且 setsockopt 调用会失败。检查 setsockopt 是否返回 false,如果没有,获取::WSAGetLastError() 并查看它是否会引导您到任何地方。就我而言,我记得没有这些选项是因为它们不受支持。我在 Windows Mobile 5 上工作。

关于c++ - Windows Mobile 上的 setsockopt TCP_NODELAY 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/495658/

相关文章:

c++ - 使用 IImageEncoder 将图像保存到文件

android - 我可以使用 phoneGap 部署到多平台吗?

.net - DataWedge 库 - 摩托罗拉 MC55 条码扫描速度非常慢

c++ - 何时使用多个 CPP 文件(良好编码规范)

C++共享库导出函数

api - 如何获取摩托罗拉 (Symbol) 移动设备序列号?

c# - 通过 msi 文件在 Windows Mobile 中部署 .Net Compact Framework 应用程序

c++ - 如何获得 ComboBox 项目计数

c++ - 为什么悬挂指针指向不同的内存地址

c++ - 将 QQmlListProperty 作为参数从 QML 传递到 C++