Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7172811
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T15:41:36+00:00 2026-05-28T15:41:36+00:00

This is an old problem I abandoned awhile ago because I could fine no

  • 0

This is an old problem I abandoned awhile ago because I could fine no solution and it only affected one server (so I just put my service somewhere else). This user has a problem with identical symptoms to mine:

  • C# .net synchronous Tcp server
  • a TcpClient object is assigned by blocking on a TcpListener with the AcceptTcpClient method
  • once there’s a TcpClient object, I pass it to a thread that invokes the client’s GetStream method to create a NetworkStream
  • this NetworkStream is looped over, in each iteration doing a networkStream.Read(someBuffer, 0, 4096)
  • right now client and server are located on the same network, with no congestion to speak of
  • my server has plenty of memory to spare
  • if I load my server software onto another machine, the problem goes away
  • the kicker: traffic from a network Linux box gets through fine and on time

The tcpClient.AcceptTcpClient() method blocks for around a minute at a time, resulting in the server having to read a huge block of bytes a short while later, instead of what it should do. It should do networkStream.Read() small blocks of bytes as frequently as they are sent (and the client sends them every 5s, not once a minute).

Previous comments to the other user suggest subpar networking or connectivity issues might be to blame, which at first seems reasonable. But this isn’t actually the case.

I went one step further and installed packet analyzers at both the client and server. Results:

  • the instant the client sends one it shows up on the server’s analyzer
  • network latency or connectivity are NOT the problem
  • the packet/frame are arriving at server at the correct time
  • somewhere between the network interface card that my analyzer is monitoring and my application something is causing this delay
  • the .NET runtime is the only thing between my application and network interfacing
  • some kind of socket error in .NET is the cause of this huge latency

Environment:

  • in my specific case I’m using a Intel PRO/1000 MT Network card, and .NET
  • Standard Edition Server 2003 R2, SP2
  • .NET Frameworks installed: 2.0 SP2, 3.0 SP2, 3.5 SP1, 4 Client Profile, 4 Extended

If anyone has any advice I would very much like to know what it is.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T15:41:37+00:00Added an answer on May 28, 2026 at 3:41 pm

    This may be due to one of the following.

    • Most Likely: Hardware TCP offload.

    That model of network card has been observed to have trouble with TCP offload in other situations. You can disable this at the device driver configuration.

    If it is a problem with offloaded handling of segmentation then you may find it only occurs on certain network routes which may explain your observed difference between your Linux client and your Windows client.

    Example: http://forums.novell.com/novell-product-support-forums/netware/nw-other/communications/187741-offload-tcp-segmentation-intel-pro-1000-mt.html

    • Less Likely: Path MTU problems.

    Path MTU is supposed to be automatically discovered, but if an intervening router is dropping all ICMP traffic (including “needs fragmentation”) then you may see hanging connections. In your case the connection succeeds eventually so I don’t think this is your problem, but worth checking. (You can also reduce the MTU and alter the MTU discovery algorithm if necessary, but you should probably leave this alone unless this is your issue and you can’t fix the router.)

    • Less Likely: Attempt to set up IPSec connection failure.

    If the windows machine is in a domain it may be attempting and failing to set up an IPSec relationship. This will depend on the configuration of both the client and the server. Normally this would fail quickly, but if you are blocking some IPSec traffic, you may see it failing slowly. Look for IKE and IPSec traffic in your network analyser.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This is an age old problem - but now I'm using scriptaculous its come
This is a very old problem, but I cannot seem to get my head
I periodically get this problem where all of a sudden mako is using old
I'm trying to illustrate a doubly linked list problem. this is from an old
Is this faster: $(document.links).filter('a.someClass') than just plain old this: $('a.someClass') ? I don't see
I'm quite sure this is an old problem. This is how i render my
so I need to maintain this old legacy project, where one part of it
The scenario I have access to this old linux server, that no longer receives
I have only seen code solutions to this problem. I am looking for a
I was wondering if anyone could help me with this problem: I have to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.