Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / Remoting / January 2004

Tip: Looking for answers? Try searching our database.

Remoting channels and sockets

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Orlin Popov - 30 Jan 2004 00:12 GMT
Hi,

I use my own client and server sinks with TCP channels and binary
formatters. My sinks are between formatters and transport sinks. They
exchange messages through request and response headers. They also replace
response and request streams.

I test this with a very small demo program - a SAO SingleCall object is
called on the server. It returns a short string back to the client. I use
port 8099 on my machine

Everything seems to work fine. However, one strange thing happens, for which
I don't have good explanation.

Every time the server object is called a new socket pair is generated. Here
is what happens after 5 calls (info displayed by netstat -a):
TCP    orlin-lpt:8099         orlin-lpt:0               LISTENING
TCP    orlin-lpt:3517         orlin-lpt:8099         ESTABLISHED
TCP    orlin-lpt:3518         orlin-lpt:8099         ESTABLISHED
TCP    orlin-lpt:3519         orlin-lpt:8099         ESTABLISHED
TCP    orlin-lpt:3520         orlin-lpt:8099         ESTABLISHED
TCP    orlin-lpt:3521         orlin-lpt:8099         ESTABLISHED
TCP    orlin-lpt:8099         orlin-lpt:3517         ESTABLISHED
TCP    orlin-lpt:8099         orlin-lpt:3518         ESTABLISHED
TCP    orlin-lpt:8099         orlin-lpt:3519         ESTABLISHED
TCP    orlin-lpt:8099         orlin-lpt:3520         ESTABLISHED
TCP    orlin-lpt:8099         orlin-lpt:3521         ESTABLISHED

Of course after several thousand calls system starts to behave erratically -
refuse calls and return errors. After a couple of minutes those sockets are
gone and the program can work again.

If I don't use my sinks - only a pair of established sockets is created.

I will very much appreciate any hints about what is triggering such behavior
in the Remoting.

Thanks a lot,

Orlin
Sunny - 30 Jan 2004 17:27 GMT
Hi again,
as an addition, take a look at Thomas Bruckschlegel post in this
newsgroup, subject: FIX: An operation on a socket could not be performed
because the system lacked sufficient buffer space or because a queue was
full

Sunny

> Hi,
>
[quoted text clipped - 36 lines]
>
> Orlin
Orlin Popov - 30 Jan 2004 17:57 GMT
Hi Sunny,

Thanks for your reply. I do run out of sockets.

The funny thing is that if I remove my sinks from the client and server sink
chains everything becomes OK. Only two sockets are created and the program
can run forever. There is something in the sinks that triggers this behavior
in the socket use by the transports. Probably only Microsoft knows how a
sink added between the client formatter and transport can trigger different
scheme of socket usage.

Thanks again and nazdrave!

Orlin

> Hi again,
> as an addition, take a look at Thomas Bruckschlegel post in this
[quoted text clipped - 44 lines]
> >
> > Orlin

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.