Advertising

TCP Window Update packet for every byte read on socket

  • Hi,


    I am using socket messaging to read commands in a Karel program. The sender is a Linux PC. The controller is sending a TCP Window Update packet for every byte it reads from the socket, slowing the process considerably. It takes >200ms to read a 51 byte message.


    I've attached a Wireshark screenshot. Packet 45 is the PC sending commands. Packets 47-70 are the Karel program sending progress messages. Packets 71-122 are all TCP Window Update packets, each incrementing the window size by 1 byte. Messages are received intact and the program works correctly. It is just too slow for our application. I know this is an old beast, but Fanuc's TCP stack should be more efficient than this.


    Has anyone else seen this? Is there a workaround? I looked for system variables that might control the TCP window size or flow control, but didn't find any. Do formatting options on the READ statement help?


    Details:

    R-J31B controller running version 6.4

    M-16iB/20 robot


    Relevant lines from my Karel code:

    MAX_STR_LEN = 128

    cmd : STRING[MAX_STR_LEN]

    cmd = ''

    READ socket(cmd)


    Thanks,

    Mark

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now