Discussion:
UDP on Windows 7/ Vista
(too old to reply)
D.Heitbrink
2010-02-24 05:08:01 UTC
Permalink
Raw Message
Right now I have a server app using winsock doing UDP communications. The app
listens on some port for commands, one of the commands is to give updates to
the client at a given rate to a given port. This app works fine with
WindowsXP.

When doing a deployment on Windows 7 (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client is on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected value. We
just are getting anything telling us their is a problem. We used wireshark (a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?

I am pretty stumped on this one, at this point even bad advice would suffice.
m
2010-02-25 03:56:31 UTC
Permalink
Raw Message
I have no idea what your problem is, but here are some things to check /
think about
- Are you binding the sockets to specific addresses?
- Is IPv6 running on the machine?
- Are you seeing intermittent packet loss, or no packets arriving at all?
Post by D.Heitbrink
Right now I have a server app using winsock doing UDP communications. The app
listens on some port for commands, one of the commands is to give updates to
the client at a given rate to a given port. This app works fine with
WindowsXP.
When doing a deployment on Windows 7 (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client is on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected value. We
just are getting anything telling us their is a problem. We used wireshark (a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?
I am pretty stumped on this one, at this point even bad advice would suffice.
D.Heitbrink
2010-02-26 16:44:02 UTC
Permalink
Raw Message
No ip6 is not being used
I do not get intermittent traffic,
It does bind to a specific address.

Although strange it seems on some machines if you run the client app is
comparability mode for Windows XP, it will work.
Post by m
I have no idea what your problem is, but here are some things to check /
think about
- Are you binding the sockets to specific addresses?
- Is IPv6 running on the machine?
- Are you seeing intermittent packet loss, or no packets arriving at all?
Post by D.Heitbrink
Right now I have a server app using winsock doing UDP communications. The app
listens on some port for commands, one of the commands is to give updates to
the client at a given rate to a given port. This app works fine with
WindowsXP.
When doing a deployment on Windows 7 (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client is on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected value. We
just are getting anything telling us their is a problem. We used wireshark (a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?
I am pretty stumped on this one, at this point even bad advice would suffice.
.
m
2010-02-27 19:02:21 UTC
Permalink
Raw Message
Are you being blocked by the Windows firewall or another 'security' product?

Are you binding to the loopback adapter or an adapter backed by HW?
Post by D.Heitbrink
No ip6 is not being used
I do not get intermittent traffic,
It does bind to a specific address.
Although strange it seems on some machines if you run the client app is
comparability mode for Windows XP, it will work.
Post by m
I have no idea what your problem is, but here are some things to check /
think about
- Are you binding the sockets to specific addresses?
- Is IPv6 running on the machine?
- Are you seeing intermittent packet loss, or no packets arriving at all?
Post by D.Heitbrink
Right now I have a server app using winsock doing UDP communications.
The
app
listens on some port for commands, one of the commands is to give
updates
to
the client at a given rate to a given port. This app works fine with
WindowsXP.
When doing a deployment on Windows 7 (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client
is
on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected
value.
We
just are getting anything telling us their is a problem. We used
wireshark
(a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?
I am pretty stumped on this one, at this point even bad advice would suffice.
.
b***@gmail.com
2010-02-25 10:26:43 UTC
Permalink
Raw Message
On Feb 24, 6:08 am, D.Heitbrink
Post by D.Heitbrink
Right now I have a server app using winsock doing UDP communications. The app
listens on some port for commands, one of the commands is to give updates to
the client at a given rate to a given port. This app works fine with
WindowsXP.
When doing a deployment on Windows 7  (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client is on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected value. We
just are getting anything telling us their is a problem. We used wireshark (a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?
I am pretty stumped on this one, at this point even bad advice would suffice.
I ha
b***@gmail.com
2010-02-25 10:36:47 UTC
Permalink
Raw Message
Post by b***@gmail.com
On Feb 24, 6:08 am, D.Heitbrink
Post by D.Heitbrink
Right now I have a server app using winsock doing UDP communications. The app
listens on some port for commands, one of the commands is to give updates to
the client at a given rate to a given port. This app works fine with
WindowsXP.
When doing a deployment on Windows 7  (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client is on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected value. We
just are getting anything telling us their is a problem. We used wireshark (a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?
I am pretty stumped on this one, at this point even bad advice would suffice.
I Have the same problem with a TCP server, the client running on the
same
computer if the response size is < 4188 bytes, with a client on a
other computer
the server works fine.
m
2010-02-25 23:44:41 UTC
Permalink
Raw Message
I doubt that your problem is related. Remember that TCP is a stream
protocol and that 'response size' has no meaning to a stream protocol. A
stream protocol conceptually delivers one byte at a time and if you happen
to read more that than at once, as is definitely good practice to do, you
just save yourself IOPs in the kernel. It is most likely that you are
seeing a difference related to timing & buffering that causes your
reassembly logic to break.
Post by b***@gmail.com
On Feb 24, 6:08 am, D.Heitbrink
Post by D.Heitbrink
Right now I have a server app using winsock doing UDP communications. The app
listens on some port for commands, one of the commands is to give updates to
the client at a given rate to a given port. This app works fine with
WindowsXP.
When doing a deployment on Windows 7 (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client is on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected value. We
just are getting anything telling us their is a problem. We used wireshark (a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?
I am pretty stumped on this one, at this point even bad advice would suffice.
I Have the same problem with a TCP server, the client running on the
same
computer if the response size is < 4188 bytes, with a client on a
other computer
the server works fine.
b***@gmail.com
2010-02-25 10:26:43 UTC
Permalink
Raw Message
On Feb 24, 6:08 am, D.Heitbrink
Post by D.Heitbrink
Right now I have a server app using winsock doing UDP communications. The app
listens on some port for commands, one of the commands is to give updates to
the client at a given rate to a given port. This app works fine with
WindowsXP.
When doing a deployment on Windows 7  (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client is on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected value. We
just are getting anything telling us their is a problem. We used wireshark (a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?
I am pretty stumped on this one, at this point even bad advice would suffice.
I ha
mosesvas
2010-03-06 07:06:17 UTC
Permalink
Raw Message
On Feb 24, 10:08 am, D.Heitbrink
Post by D.Heitbrink
Right now I have a server app using winsock doing UDP communications. The app
listens on some port for commands, one of the commands is to give updates to
the client at a given rate to a given port. This app works fine with
WindowsXP.
When doing a deployment on Windows 7  (later fond out it was a problem on
Vista too), we ran into the problem if the client is on the local host, it
will not send our status packet out. It still works fine if the client is on
another machine. We are checking all our return codes for errors on all our
socket up, after calling sendto, we are getting back the expected value. We
just are getting anything telling us their is a problem. We used wireshark (a
packet sniffer) and could not find the packets we are trying to send in the
capture logs. Does anyone have any advice?
I am pretty stumped on this one, at this point even bad advice would suffice.
You can't sniff the localhost packets with wireshark. W7 & vista
follows strong host model (http://msdn.microsoft.com/en-us/library/
aa814496(VS.85).aspx)while xp follows weak model. So if you bound a
socket to a interface, you can't send packets to another interface.
Loading...