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

  • Home
  • SEARCH
  • 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 7648631
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T10:46:02+00:00 2026-05-31T10:46:02+00:00

I have a client that connects to server, starts sending binary data and when

  • 0

I have a client that connects to server, starts sending binary data and when it’s done sending, it closes the connect. If connection is closed the server knows client is done sending the file.

I have a simple tcp class to handle the connection. Then I have another function that sends data to server:

  TcpC tcp = new TcpC();

  void send_data_to_server(){
        tcp.connect();

        while(read_data){
            tcp.sendData();
        }

        Thread.Sleep(500);
        tcp.disconnect();
  }

Server uses async sockets and has a function WaitForData() which gets exception when client disconnects. The problem is if I remove the Thread.Sleep() WaitForData still catches the exception, but onDataReceive still hasn’t received all the data because I check the buffer size in exception and it’s much smaller than if I use Sleep().

The server is going to have to handle many operations like this and I cannot afford to use Sleep() ‘hack’ for it to work. Sometimes it doesn’t work anyway and I have to set sleep interval to couple of seconds to be sure. None of the other async functions on the server side trigger exception except WaitForData().

How can I close the connection immediately and still get all the data? I though tcp.disconnect is called after all the data is sent anyway so I’m not clear why am I having this issue. Thanks!

  • 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-31T10:46:04+00:00Added an answer on May 31, 2026 at 10:46 am

    From the MSDN Docs:

    To ensure that all data is sent and received before the socket is closed, you should call Shutdown before calling the Disconnect method.

    It might be worth giving that a shot.

    Otherwise if your code snippet is any indication (based on your use of TcpC), you should probably be using TcpClient.Close which I believe will do this for you.

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

Sidebar

Related Questions

I have a .NET client that needs to connect to a remote SQL Server
I have a server that connects to multiple clients using TCP/IP connections, using C
I have a mobile app webservice client that connects to a WCF webservice(on my
I have a Linux/c client app that connects to a WCF web service over
I have a client program written in .NET 2.0, that connects to the web
I have written an ActionScript client program that tries to connect to a local
I have a set of webservices that I connect to using Silverlight Client. I
I have client application that uses WCF service to insert some data to backend
i have a java chat server & client, that works fine. I made a
We have a C# application that connects to a FTP server, downloads some files,

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.