- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个第三方软件应用程序的 tcpip 套接字接口(interface)。我已经为几个客户站点实现了这个接口(interface),没有任何问题。最新的客户,虽然......问题。我们已经打开了两端应用程序的登录功能,还在 PC 上安装了 Wireshark 以记录原始 tcpip 流量。这样,我们已经证明我的服务器应用程序成功发送了消息,PC 收到了消息,但客户端应用程序没有看到它。 (这是一个完全间歇性的问题,这就是为什么很难解决问题。)
套接字的细节很简单:一个套接字处理服务器和 pc 之间的双向通信。消息是纯 ASCII 文本并且相当短(不是 XML)。服务器通过发送第一条消息来启动通信,然后客户端用多条消息进行响应。在应用程序运行时,套接字始终保持打开状态。客户端应用程序的设计使最终用户一次只能处理一个案例,从而防止发生消息冲突。他们设置了某种轮询,他们的应用程序会“休眠”,直到它看到来自服务器的启动消息。
第三方供应商建议我在向他们发送启动消息之前增加几秒钟的延迟。我看不出这有什么帮助。如果客户端正在“休眠”,只是轮询等待消息的套接字,那么在第一条消息之前添加延迟有何帮助?这不像我们发送了两条消息而第二条消息丢失了。它正在丢失第一条消息。所以我不明白我们是现在还是两秒后发送这条消息有什么关系。
我问过他们,他们没有给我详细信息。他们可能不想向我透露他们编码中的一些专有细节,这很公平。所以我在这里问是因为我一直在学习有关套接字编程的新知识。也许你们可以阐明轮询 tcpip 套接字如何受消息计时的影响?
最佳答案
因为它是其他人的客户,他们不会告诉你它在做什么(除了说“插入延迟”),答案可能是他们的客户正在阅读并丢弃消息,因为它还没有处于处理它。延迟将使客户端有时间进入可以正确响应消息的状态。
换句话说,客户端存在竞争条件。发生这种情况的一种简单方法是,如果他们有一个线程用于读取消息而另一个线程用于处理消息。
如果没有在客户端上运行 strace(1) 来查看它正在调用什么系统,则很难判断客户端实际在做什么。
关于tcp - 在通过套接字发送消息之前延迟 - 这有什么帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3151671/
我正在寻找一种使此打印 HTML 代码 fragment 向后兼容旧 Android 版本的简单方法: @TargetApi(Build.VERSION_CODES.KITKAT) private v
我在 GCC 终端 (centos linux) 中为 ATM 项目编译以下 c 和 .h 代码时收到以下错误。请帮忙,因为我是编程新手。 validate_acc.h #ifndef _VALIDA
在写关于 SO 的不同问题的答案时,我制作了这个片段: @import url('https://fonts.googleapis.com/css?family=Shadows+Into+Light'
试图弄清楚我应该如何在 my_div_class 之前放置一个 span 而不是替换所有它。现在它取代了 div,但我不想这样做。我假设它类似于 :before 但不知道如何使用它。 { va
我正在使用选择库 http://github.hubspot.com/select/和 noUiSlider https://refreshless.com/nouislider/ .我面临的问题如下
我是开发新手,独自工作。我正在使用 Xcode 和 git 版本控制。可能我没有适本地组织和做错事,但我通常决定做 promise 只是为了在我破坏一切之前做出安全点。在那一刻,我发现很难恰本地描述我
我想确保在同一个桶和键上读取和写入时,应该更新获取的值,也就是说,应该在对其进行写入操作之后获取它。我怎样才能做到这一点? 我想要的是,如果我更新一个键的值,如果我同时使用不同线程获取值,则更新同一个
我的问题与this有关问题,已经有了答案: yes, there is a happens-before relationship imposed between actionsof the thre
The before and after hook documentation on Relish仅显示 before(:suite) 在 before(:all) 之前调用。 我什么时候应该使用其中
我有 CSV 行,我想在其中检测所有内部双引号,没有文本限定符。这几乎可以正常工作,但我的正则表达式还可以检测双引号后的字符。 CSV 部分: "7580";"Lorem ipsum";"";"Lor
是否可以通过Youtube数据API检查广告是否可以与特定视频一起显示? 我了解contentDetails.licensedContent仅显示视频是否已上传至同一伙伴然后由其声明版权。由于第三者权
考虑一下用漂亮的彩色图表描述的“像素管道” https://developers.google.com/web/fundamentals/performance/rendering/ 我有一个元素(比
之前?
在 MVC3 中,我可以轻松地将 jQuery 脚本标签移动到页面底部“_Layout.vbhtml” 但是,在 ASP.NET MVC3 中,当您使用编辑器模板创建 Controller 时,脚手
悬停时内容被替换,但是当鼠标离开元素时我希望它变回来。我该怎么做? $('.img-wrap').hover(function(){ $(this).find('h4').text('Go
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包含有效代码以重现该问题。
版本:qwt 6.0.1我尝试开发频谱的对数缩放。我使用简单的线条来启用缩放plotspectrum->setAxisScaleEngine(QwtPlot::yLeft, new QwtLog10S
我有两个相同的表,I_Subject 和 I_Temp_Subject,我想将 Temp_Subject 表复制到 Subject 表。 I_Temp_Subject 由简单用户使用,I_Subjec
我的印象是第一次绘制发生在触发 DOMContentLoaded 事件之后。特别是,因为我认为为了让第一次绘制发生,需要渲染树,它依赖于 DOM 构造。另外,我知道 DOM 构造完成时会触发 DOMC
我是一名优秀的程序员,十分优秀!