完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我在PIC32MZ_EF_SK上使用HARMony v1_06,我正在开发我的应用程序,从wolfssl_tcp_client开始。我正在经历网络表示层的一种奇怪的行为。这是我的应用程序状态机的接收状态中的代码:avail_size=NET_PRES_SKT_ReadIsReady(appData.socket,&error);appData.rawBytesRecei.+=NET_PRES_SKT_Read(appData.socket,(uint8_t*)networkBuffer,size of(app_sm_header)&avail_size=NET_PRES_SKT_Re);adIsReady(appData.socket,&error);.sizeof(app_sm_header)=10。在服务器端,我向客户端发送一个42字节的数据包,在客户端,我第一次调用NET_PRES_SKT_ReadIsReadythe返回值是101。这是可以的,因为加密,但是如果我用NET_PRES_SKT_Read只读取10字节,然后再次调用NET_PRES_SKT_ReadIsReady,那么返回值是0!我也看到了同样的行为,如果不是NETYPROSKSKtiLI,我可以解释一下为什么?我需要经常阅读整个数据吗?那么,哪一个是我必须提供的应用程序缓冲区?非常感谢你,米尔科。
|
|
相关推荐
2个回答
|
|
问题是加密层和事物是如何建立的。要解决的一个问题是ReadIsReady函数在加密连接上使用wolfSSL_pending()函数而不是Harmony TCP GetIsReady。然后你做一个阅读。然后,WOLFSSL捕获足够的数据包来解密包,这是来自TCPIP栈的整个缓冲区。你从WOLFSSL的内部缓冲区取出前10个字节。此时,tcpip缓冲区是空的,这也是ReadIsReady返回0的原因。但是您仍然应该能够调用Read并获得缓冲区的其余部分。你可以调用读,直到它返回0字节读取。
|
|
|
|
非常感谢你,你说得对!我检查了NeTeTyPrsikSttRead(),实际上它返回了缓冲区的其余部分,尽管Read准备就绪返回为零。
|
|
|
|
只有小组成员才能发言,加入小组>>
5160 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2225 浏览 5 评论
729浏览 1评论
613浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
503浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
628浏览 0评论
526浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:20 , Processed in 1.159432 second(s), Total 51, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号