?
Solved

Winsock : How do I know when other host closes connection with me?

Posted on 1998-12-18
9
Medium Priority
?
190 Views
Last Modified: 2010-04-15
Hello,

I'm beginner to Winsock programming. I wrote a "chat" program. It works but I want to know whenever the connection is closed by other host. For now, I check this by trying sending something to other host. If I can send without any error then it still alives. That's not a good and convenient methode.

Can anyone show me better methode to verify a connection without sending?
For instance something like getting the state of a connection.

Thank you.
0
Comment
Question by:toannds
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
9 Comments
 
LVL 2

Accepted Solution

by:
rdelfino earned 150 total points
ID: 1255285

There's another way. You try recv().

If the connection is no longer alive you will get 0 bytes received
or an error.

I hope it helps

Reginaldo

0
 
LVL 32

Expert Comment

by:jhance
ID: 1255286
rdelfino,

Wrong answer.  Just because recv() returns 0 bytes, doesn't mean the connection has closed.  There just may be 0 bytes available at that time.

Under Windows, the right way to do it is to use WSAAsyncSelct() and specify the FD_CLOSE event.  If WSAGETSELECTERROR returns 0 for the FD_CLOSE event, then the socket was closed gracefully.  If an error value of WSAECONNRESET is returned, the socket was aborted.
0
 

Author Comment

by:toannds
ID: 1255287
Thanks, I'll try...
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 32

Expert Comment

by:jhance
ID: 1255288
It's also too bad you accepted an incorrect answer...
0
 

Author Comment

by:toannds
ID: 1255289
Thanks jhance!

Now I have completed my program with new concept: event notifications. It works perfectly. When other host close connection, I receive immediately FD_CLOSE.
0
 
LVL 32

Expert Comment

by:jhance
ID: 1255290
Alas, it's too bad you accepted an incorrect answer...
0
 

Author Comment

by:toannds
ID: 1255291
I don't understand what you said. My program used WSAAsyncSelect() and worked well. I wanna give you more points :-)
0
 
LVL 32

Expert Comment

by:jhance
ID: 1255292
You didn't give ME any points.  You accepted rdelfino's incorrect answer rather than rejecting it.

So he gets the points and I don't.
0
 

Author Comment

by:toannds
ID: 2026483
I'm so sorry jhance.

For a long time I could not access to this site due to the stupid firewalls of my country. I was a beginner to this forum at that time so I didn't know clearly how to give you points. And by accident we meet again at my question

http://www.experts-exchange.com/jsp/qShow.jsp?ta=mfc&qid=10202631 

Now I know my mistake so I wanna give you more points in that question.

Please forgive me.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you thought about creating an iPhone application (app), but didn't even know where to get started? Here's how: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Important pre-programming comments: I’ve never tri…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use conditional statements in the C programming language.

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question