EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Touuqu 于 2019-6-19 16:54 编辑 $ C* F# u/ U9 B' _/ W* u
3 c* a& I2 u- j; Z
使用RK3399开发板给服务端的PC发送数据时,总会遇到服务端收不到数据的情况.! i6 q6 D1 M# O
RK3399作为TCP的client,PC作为server.% |4 H) A9 S5 E
出现问题时,PC端一直收不到ARM的数据,但ARM端没有显示任何异常;15分钟后,ARM放弃该TCP连接,重新建立一个新的TCP连接;8 g1 e: h; w: K. f' K6 V
出现异常时,网络正常,能相互ping通;如果另外启动一个client,也能正常发送数据;
$ B) \* H& V/ r; t" w0 a使用抓包工具对server端和client端抓包(wireshark和tcpdump),发现两边的抓包结果一致: - client和server在正常传输数据;
% X' R3 C# H$ z$ s, f0 f- server端发出 DUP ACK包;
- client端应答 Fast Retransmission;
- 重复 2,3过程一会儿后,client端发送 TCP Retransmission,server端无应答;
- client端重新建立连接; 由于无法上传图片,只能这样描述了。 PC端尝试更换过工控机和普通的台式机,尝试过windows server和win10和ubuntu16.04, TCP server的程序尝试过自己写的服务端和网络调试助手; RK3399更换过3个不同的开发板,也使用过不同的client程序(一个是基于muduo库写的应用程序,一个是基于linux的socket接口写的测试程序)% y+ g9 w1 `$ K1 @9 ~4 w p; ~
$ I3 O o- @2 d" I) E
0 [* m) H9 j* w% d后来根据同事的建议,将TCP的每个包大小改到1200byte以内(实际只有800多byte),增加流量控制(每隔200us发一包),仍然有相同的问题。* I+ Y% F; i! ~& | w! q& e% B
$ M! `9 e. A" H% r8 N6 |; [& @有人提到rk3399的网络有问题,VDD_LOG偏低,但我测试了一下,我的板子的VDD_LOG并无异常. 麻烦高手帮忙解答一下.
& L x4 m& _0 ~) M |