Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 605
  • Last Modified:

Using condition function in WSAAccept

I tried to use callback condition function in WSAAccept. I wrote the code as what MSDN told me to do. When I use WSAConnect(...) I specified the lpCallerData and left the last three parameters to be NULL. But when I use condition function on the accept side, no caller connection data could be retrieved. The lpCallerData is always NULL. Anything I haven't noticed? Please help me, thanks.
0
xutao
Asked:
xutao
  • 3
  • 3
  • 2
  • +1
1 Solution
 
VincentLawlorCommented:
Have you called WSAStartup ?

Have you called bind on the socket first ?

Vin.
0
 
xutaoAuthor Commented:
Sure.
In <<Winsock 2.0>> I found that from WSAPROTOCOL_INFO I can get whether a certain protocol support connect data exchange. So I use WSAEnumProtocols(...) to retrieve the info. On my pc I get 12 protocols' info. Then I check "WinSock Proxy [tcp]" protocol, after checking XP1_CONNECT_DATA bit of the dwServiceFlags1(in WSAPROTOCOL_INFO structure) it returns 0. So I think the protocol I use doesn't support connect data exchange. Am I right?
Then I check all the 12 protocols' dwServiceFlags1, all the return value of that bit is 0. Any one ever used connect data exchange in socket programming? Any suggestion?
0
 
VincentLawlorCommented:
I think you also need to give a pointer to the user data that is to be transferred back from the other socket during connection establishment. i.e.

int  WSAConnect(
  SOCKET s,                          
  const struct sockaddr FAR *name,  
  int namelen,                      
  LPWSABUF lpCallerData,            
  LPWSABUF lpCalleeData,            
  LPQOS lpSQOS,                      
  LPQOS lpGQOS                      
);

lpCalleeData must also be specified.

Vin.
0
NEW Veeam Backup for Microsoft Office 365 1.5

With Office 365, it’s your data and your responsibility to protect it. NEW Veeam Backup for Microsoft Office 365 eliminates the risk of losing access to your Office 365 data.

 
xutaoAuthor Commented:
I've tried but it does nothing.
0
 
VincentLawlorCommented:
So on the connect side you populate a WSABUF structure ?

Vin.
0
 
amp072397Commented:
xutao:

You have asked 21 questions here at EE, and you have only resolved 3 of them. Here is a list of your open questions. I will be posting this comment in all of them.

http://www.experts-exchange.com/jsp/qShow.jsp?ta=winntnet&qid=20154615
http://www.experts-exchange.com/jsp/qShow.jsp?ta=networkgen&qid=20154616
http://www.experts-exchange.com/jsp/qShow.jsp?ta=networkgen&qid=20160832
http://www.experts-exchange.com/jsp/qShow.jsp?ta=networkgen&qid=20168293
http://www.experts-exchange.com/jsp/qShow.jsp?ta=networkgen&qid=20171676
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cplusprog&qid=11217097
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cplusprog&qid=11872498
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cplusprog&qid=20133253
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cplusprog&qid=20133912
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cplusprog&qid=20171681
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cplusprog&qid=20171684
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cplusprog&qid=20248551
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cplusprog&qid=20248764
http://www.experts-exchange.com/jsp/qShow.jsp?ta=winprog&qid=20252102
http://www.experts-exchange.com/jsp/qShow.jsp?ta=winprog&qid=20254933
http://www.experts-exchange.com/jsp/qShow.jsp?ta=winprog&qid=20255719
http://www.experts-exchange.com/jsp/qShow.jsp?ta=winprog&qid=20258375

To assist you in your cleanup, I'm providing the following guidelines:

1.  Stay active in your questions and provide feedback whenever possible. Likewise, when feedback has not been provided by the experts, commenting again makes them receive an email notification, and they may provide you with further information. Experts have no other method of searching for questions in which they have commented, except manually.

2.  Award points by hitting the Accept Comment As Answer button located above and to the left of that expert's comment.

3.  When grading, be sure to read:
http://www.experts-exchange.com/jsp/cmtyQuestAnswer.jsp#3
to ensure that you understand the grading system here at EE. If you grade less than an A, you must explain why.

4.  Questions that were not helpful to you should be PAQ'd (stored in the database for their valuable content?even if not valuable to you) or deleted. To PAQ or delete a question, you must first post your intent in that question to make the experts aware. Then, if no experts object after three full days, you can post a zero-point question at community support to request deletion or PAQ. Please include the link(s) to the question(s).
CS:  http://www.experts-exchange.com/jsp/qList.jsp?ta=commspt
At that point, a moderator can refund your points and PAQ or delete the question for you. The delete button does not work.

5.  If you fail to respond to this cleanup request, I must report you to the Community Support Administrator for further action.

Our intent is to get the questions cleaned up, and not to embarrass or shame anyone. If you have any questions or need further assistance at all, feel free to ask me in this question or post a zero-point question at CS. We are very happy to help you in this task!


thanks!
amp
community support moderator

0
 
xutaoAuthor Commented:
Sure.
0
 
NetminderCommented:
Note sent today to Admin re: remaining open questions.

Netminder
Community Support Moderator
Experts Exchange
0
 
NetminderCommented:
Admin notified of user neglect. Points refunded and question closed.

Netminder
Community Support Moderator
Experts Exchange
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

  • 3
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now