Asynchronous TCP with fwrite: limited bandwidth compared to synchronous communication

조회 수: 1 (최근 30일)
When using, e.g.
fwrite(tcpSocket, tcpData, 'uint8', 'async')
I notice that the maximum datarate I can achieve is about 4MBit/s, regardless of buffer size/chunk size. When making use of synchronous fwrite, I easily achieve datarates up to 100MBit/s.
I would prefer to stick to asyncronous writing, since my code is embedded in a GUI that should remain responsive while the data transfer runs in the background. Also the remote tcp side (which is the server in my case) reads data very fast.
Thanks!
  댓글 수: 2
Tom DeLonge
Tom DeLonge 2019년 4월 1일
If someone else stumbles upon this. I sent an inquiry to Mathworks and got a reply. They could sucessfully reproduce the problem. They suggested to use parfeval to execute fwrite in the background (without the async argument).
This approach undermines bilateral communication or at least makes it very inconvenient. So I'll try another approach.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Code Generation for ARM Cortex-M and ARM Cortex-A Processors에 대해 자세히 알아보기

태그

제품


릴리스

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by