473,804 Members | 3,312 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Threads created by the use of NetworkStream?

TDC
I'm working on tying in a library that uses a
TcpClient/NetworkStream/BeginRead. When that lib object is started, it
connects and immediately does a BeginRead that stays pending until the
socket is closed some time later.

(As is common, as data is received it is placed in a buffer and then
rolls back into another BeginRead. For the purposes of troubleshooting
I've not initiated any action that would cause data to come in, so as
to exclude that code from testing. So back to the topic.)

When the shutdown routine is called I can see two therads running. One
at "Highest" priority that never seesm to eneter into .NET code and
another "Normal" priority one that enters the BeginRead callback
handler (presumably from the threadpool).

Now the problem. I never see those two threads disappear from the
Threads debug window afterwards. Does anyone have any idea as to what
is going on?

TIA,
Tom

Jul 14 '06 #1
2 1590
"TDC" <NO***********@ lycos.comwrote:
I'm working on tying in a library that uses a
TcpClient/NetworkStream/BeginRead. When that lib object is started, it
connects and immediately does a BeginRead that stays pending until the
socket is closed some time later.

(As is common, as data is received it is placed in a buffer and then
rolls back into another BeginRead. For the purposes of troubleshooting
I've not initiated any action that would cause data to come in, so as
to exclude that code from testing. So back to the topic.)

When the shutdown routine is called I can see two therads running. One
at "Highest" priority that never seesm to eneter into .NET code and
another "Normal" priority one that enters the BeginRead callback
handler (presumably from the threadpool).

Now the problem. I never see those two threads disappear from the
Threads debug window afterwards. Does anyone have any idea as to what
is going on?
What exactly is the problem?

-- Barry

--
http://barrkel.blogspot.com/
Jul 14 '06 #2
TDC
The threads seem to prevent the hosting ActiveX exe from shutting down.
When the same dll is used with all code references to this one
TcpClient-based library removed then it shuts-down just fine.

Tom

It seems that those threads are

Barry Kelly wrote:
"TDC" <NO***********@ lycos.comwrote:
I'm working on tying in a library that uses a
TcpClient/NetworkStream/BeginRead. When that lib object is started, it
connects and immediately does a BeginRead that stays pending until the
socket is closed some time later.

(As is common, as data is received it is placed in a buffer and then
rolls back into another BeginRead. For the purposes of troubleshooting
I've not initiated any action that would cause data to come in, so as
to exclude that code from testing. So back to the topic.)

When the shutdown routine is called I can see two therads running. One
at "Highest" priority that never seesm to eneter into .NET code and
another "Normal" priority one that enters the BeginRead callback
handler (presumably from the threadpool).

Now the problem. I never see those two threads disappear from the
Threads debug window afterwards. Does anyone have any idea as to what
is going on?

What exactly is the problem?

-- Barry

--
http://barrkel.blogspot.com/
Jul 17 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
556
by: cmjman | last post by:
I have an issue where networkStream.Write doesn't perform its write downstream from my client program until the network stream is closed. I then see the data that was sent appear on the other side. I am sending a small amound of data and read where data wasn't sent until the buffer reached a larger size. However, there is a TcpClient property call NoDelay that is suppose to eliminate this delay. Here is a snippet of my code below. Can...
22
4074
by: Jeff Louie | last post by:
Well I wonder if my old brain can handle threading. Dose this code look reasonable. Regards, Jeff using System; using System.Diagnostics; using System.IO; using System.Threading;
0
1533
by: Abubakar | last post by:
Hi, try { int x = ns.Read(readbuffer, 0, readbuffer.Length); } catch (System.IO.IOException ioexception) { UINotifications.ServerMessageDisplay(ioexception.ToString( )); }
0
773
by: gueverson | last post by:
Hello I am new to threads and I don't have too much idea. So as to learn I was thinking to create a simple multithreaded server. There are several clients that send data to the server as a kind of chat and in the server must be printed all the messages sent by different clients. If I run only one client it works fine. In case I run several it only works well when I am writing in the last client open. If i try to go back and write in one...
4
3306
by: Ryan Liu | last post by:
TcpClient has a method called GetworkStream GetStream(); So in other words, there is only one stream associate with it for input and output, right? So while it is receiving, it can not send, and vise visa, right? So will it be a problem both server and client can initiative a sending action? TcpClient only supports synchronous operation. What does "Synchronous" mean? Means while it is reading or waiting for data to arrive from the...
6
6454
by: roblugt | last post by:
I have what I imagine is a well-known .Net networking problem, but even though I've Googled for some time I've not yet come across a thread where this has been fully explained... There is a fairly common idiom (at least in the Java/UNIX/Win32 worlds) where a socket connection is established and the program then utilises two threads: one dedicated to reading from the socket and the other one concurrently writing to the socket - both using...
2
4095
by: Dan Holmes | last post by:
The following is the start of an application that will eventually run as a service. It listens on port 23 and emulates VT100. I would like some feedback on the network stream reading and writing. I don't really know if this is the correct approach for what i am trying. I have telnet clients that i am controlling. I don't want the processing of the input of one terminal to stop another terminal from processing. I think i have...
7
4277
by: littleIO | last post by:
Hi, I'm stuck on a very simple problem and just cant seem to get around it, little help would be much appreciated. I have a server which listens, receives calls, processes them and sends back the results to clients. The code below makes the client application not to respond. Client can send data but is stuck in the process of waiting information back from the server. Any ideas?
1
1665
by: selvialagar | last post by:
I'm explain my problem.. sockWriter=new Sender(); sockWriter->client =new TcpClient(); sockWriter->client->Connect(this->hostName,this->port_number); sockWriter->clientStream=sockWriter->client->GetStream(); localSocketWriter=new Sender(this->sockWriter->clientStream); Thread *thread=new Thread(new ThreadStart(this,&platocomm::Listener)); thread->Name =S"Listener";
0
9705
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10564
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10320
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10308
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9134
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7609
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6846
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5645
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4288
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.