According to the Unix Network Programming book Page 87 There are different combinations of socket type and socket familly, I'll illustrate them herePerhaps your combination of those two differs... And you may notice, that TCP is a byte stream, which means it only supports SOCK_STREAM.Code:type / family | AF_INET | AF_INET6 | AF_LOCAL | AF_ROUTE | AF_KEY ----------------------------------------------------------------- SOCK_STREAM | TCP | TCP | YES | | SOCK_DGRAM | UDP | UDP | YES | | SOCK_RAW | IPv4 | IPv6 | | YES | YES
Another thing, you'd might notice the NOTES section of the socket(7) man page:Perhaps some of your struggles may come from that.Linux will only allow port re-use with the SO_REUSEADDR option when
this option was set both in the previous program that performed a
bind() to the port and in the program that wants to re-use the port.
This differs from some implementations (e.g., FreeBSD) where only the
later program needs to set the SO_REUSEADDR option. Typically this
difference is invisible, since, for example, a server program is
designed to always set this option.
In order to help further we realy need to know some more, perhaps some packet sniffing to determain if the packets from windows are formed different than the ones from linux, perhaps linux decides to drop your '/r' in the end of the command, which makes the robot understand the commands differently...
Or maybe I'm just guessing since I have no way of knowing actual setup...


Reply With Quote

Bookmarks