Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

In our organization, we have two test machines running Windows XP. While attempting to test a roll-my-own UDP message server, I found that both could receive small messages (under 2k) just fine. However, when I test sending large packets to both of these machines, one receives them fine, while the other can't receive them at all. Both machines have SP3 and both have their Windows Firewall shut off, but one still isn't working. Can anyone tell me where to look for anything that might be blocking or limiting the packet size on a Windows Machine? Thanks.

share|improve this question
add comment

3 Answers

UDP is a connection-less protocol. Which roughly means that it's delivery cannot be guaranteed. The reasons for not arriving can be nearly anything. You might simply be hitting the max windows size and your packets are being thrown into the "bit-bucket". What are you using to measure the size of the packet? (are you sending wchar data instead of char data? (2-bytes vs 1-byte per-character) typically the windows-size is around 4k... which you'd run into with 2k of 2-byte characters...

If all else fails... dig out wireshark & see what is actually going down the wire.

share|improve this answer
    
We're using it as a logging system, and don't care too much since it goes from one computer to an internal switch, and right back to the other system. The packets are set to a max of 64,000 bytes (UDP allows 64KB), so we're under the theoretical maximum and ASCII encoding, so no space doubling. Can't use Wireshark, anytime i mention anything like that internally the network guy here goes crazy. –  Tom Sep 20 '10 at 18:10
add comment

Are both systems on the same switch? If so, then there shouldn't normally be any drops. If they are on the same switch, then the systems can possibly monitor/sniff/wireshark themselves for possible hints.

share|improve this answer
    
I'm pretty sure the switch isn't the problem. I can send and receive packets of all sizes between other computers on the same and on different switches. –  Tom Sep 21 '10 at 19:29
1  
That's where local Wiresharks at each end may help in gaining some insights. –  user48838 Sep 22 '10 at 6:02
add comment

Look with Wireshark on both ends.

Also, look in the settings of the NIC driver and possibly NIC documentation. Not every NIC allows for 64k packets, some make problems with as low as 6k packets (which also count as "jumbo frames").

General advice: if you try something "new" try to keep the rest of the setup as standards-compliant as possible to avoid stacking of subtle bugs of different components. In your case this would mean ensuring a MTU of 1500 bytes until you are sure you understood the sending and receiving behaviour of your application.

share|improve this answer
    
I get this problem when trying to run the "server" part of my app via an administrator account through Task Scheduler and double clicking on the "client" portion myself. I don't see any broadcasts this way. I do see them, however, if I double click on the "server" app. Is this a firewall issue? Both apps are running on the same machine so what gives? I'm using Windows 8.1 for this. –  gonzobrains Jul 16 '13 at 18:09
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.