Clear Filters
Clear Filters

Asynchronous TCP with fwrite: limited bandwidth compared to synchronous communication

3 views (last 30 days)
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 Comments
Tom DeLonge
Tom DeLonge on 1 Apr 2019
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.

Sign in to comment.

Answers (0)

Categories

Find more on Simultaneous and Synchronized Operations in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!