jjzjj

android - 什么是 Nak 限价?

我试图了解AndroidOpenAccessoryAPI如何与ArduinoADK板一起工作,我已经能够发送和接收信息,但我只想知道一切是如何工作的。我得到了这个功能描述:intAndroidAccessory::read(void*buff,intlen,unsignedintnakLimit){returnusb.newInTransfer(1,in,len,(char*)buff,nakLimit);}通过一些谷歌搜索,我发现NAK是在握手过程中出现问题时发送的一些代码,那么NAK是否限制了一个人能够接收到的通信错误的数量? 最佳答案

networking - 仅使用 NAK 的数据传输协议(protocol)如何可靠?

我一直在学习计算机网络方面的书(这不是作业题)其中一个问题比较了基于ACK和NAK的数据传输协议(protocol),重点是对于基于NAK的协议(protocol),当接收到第(x+1)个数据包时,接收方可以检测到数据包x的丢包.但是,我的问题是,如果接收方发送的NAK在到达发送方之前丢失了,会发生什么情况?发件人不会意识到错误,也不会重新传输。此外,如果数据包是序列中的最后一个数据包怎么办?(没有后续数据包可以测试)我看不出只有NAK的协议(protocol)如何可靠(以正确的顺序传送每个数据包) 最佳答案 我怀疑书中描述的理论背

STM32 USB HOST IN token包 NAK 处理过程

问题背景:STM32的HAL库,USBHOST协议栈,在接收CDC类BURK数据时,(比如串口或者4G设备)由于不知道数据什么时候来,所以STM32USBHOST一直会向总线上发送INtoken包,而大部分时候,设备是没有数据回复的,因此设备会回复1个NAK包,而在STM32侧,会产生1个NAK中断,同时STM32USBHOST会halt此通道,而在USB中断服务程序中,不同的HAL库,会有不同的处理方式:老库:收到NAK中断,会直接重新使能此通道,然后HOST会自动再发INToken,再收到NAK,再次循环。这会造成USB总线上IN->NAK事务非常频繁,新库:收到NAK中断,先关闭此通道,