Click here to Skip to main content
15,902,114 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralCrash in ocx Create Pin
g3e3-Mar-05 3:36
g3e3-Mar-05 3:36 
Generalnested splitter Pin
rgchezhian3-Mar-05 3:16
rgchezhian3-Mar-05 3:16 
QuestionCString bug? Pin
ThinkingPrometheus3-Mar-05 3:16
ThinkingPrometheus3-Mar-05 3:16 
AnswerRe: CString bug? Pin
mcsherry3-Mar-05 4:14
mcsherry3-Mar-05 4:14 
AnswerRe: CString bug? Pin
David Crow3-Mar-05 4:34
David Crow3-Mar-05 4:34 
GeneralProblem with pointers Pin
Swind3-Mar-05 3:00
Swind3-Mar-05 3:00 
GeneralRe: Problem with pointers Pin
Steen Krogsgaard3-Mar-05 3:24
Steen Krogsgaard3-Mar-05 3:24 
Generalproblem usink accept() [winsocket] Pin
eli150219793-Mar-05 2:48
eli150219793-Mar-05 2:48 
Hi,

I'm trying to connect between few PC's using TCP/IP(multycast connection).
this is my listening thread: [bind() and listen() is in another function]
UINT ListeningThread(LPVOID lpvoid)
{
    CMultycast_serverDlg *dlg = (CMultycast_serverDlg *)lpvoid;
    FD_SET SocketSet;               // set of socket descriptors for select()
    int port;                       // looping veriable for ports
    struct sockaddr_in echoClntAddr;// client address
    SOCKET clntSock;                // socket discriptor for client
    unsigned int clntLen;           // length of client address data structure
    int SelectResult = 0;

    dlg->SelectFlag = false;
    dlg->ExitFlag = false;
    while(!dlg->ExitFlag)
    {
        FD_ZERO(&SocketSet);
        for(port = 0 ; port < dlg->NumberOfPorts ; port++)
   	FD_SET((unsigned int)dlg->SocketsArray[port] , &SocketSet);
	SelectResult = select(dlg->MaxDescriptor + 1 , &SocketSet , NULL , 
                              NULL , &(dlg->selTimeout));
	if(SelectResult == 0)
	  continue;//AfxMessageBox("Error :  No echo requests for the time 
                                   you specified....server still listenning");
	else if(SelectResult == SOCKET_ERROR)
	{
	    AfxMessageBox("Error :  select() has failed ");
	    return 0 ;
	}
	else
	{
	    //dlg->SelectFlag = true;
	    for(port = 0 ; port < dlg->NumberOfPorts ; port++)
	    {
	        if(FD_ISSET(dlg->SocketsArray[port] , &SocketSet))
		{
		    clntLen = sizeof(echoClntAddr);//set the size of the in-  out parameter
		    //if(!dlg->SelectFlag)
		    clntSock=accept(dlg->SocketsArray[port],(struct sockaddr*)&echoClntAddr,(int *)&clntLen);
		    //dlg->SelectFlag = true;
		    if(clntSock != INVALID_SOCKET) //wait for a client to connect
		    {
		 	dlg->HandleClient(clntSock);//clntSock is connected to a client
	 		dlg->m_RecievedDataListBox.AddString(dlg->RecievedString);
			//WSACleanup();
	              }
                  }  
            } 
	}
   }
   for(port = 0 ; port < dlg->NumberOfPorts ; port++)
      closesocket(dlg->SocketsArray[port]);
   return 1;
}


let me explain what i want to do:
i want my PC to listen to several ports,each port is for another PC,and i want to be able to transfer some data between all the PC's and my PC,when all the PC'c try to connect my PC only once(and that's the problem,because accept() is blocking my application after one connection.
the important thing is that i can't use broadcast(the other PC must connect as peer to peer).

any idea,someone????

Regards,
Eli
GeneralRe: problem usink accept() [winsocket] Pin
ten904253-Mar-05 3:17
ten904253-Mar-05 3:17 
GeneralRe: problem usink accept() [winsocket] Pin
Alexander M.,3-Mar-05 3:19
Alexander M.,3-Mar-05 3:19 
GeneralRe: problem usink accept() [winsocket] Pin
eli150219795-Mar-05 20:04
eli150219795-Mar-05 20:04 
Generalvery simple but i don't know CheckBox Pin
Anand for every one3-Mar-05 2:34
Anand for every one3-Mar-05 2:34 
GeneralRe: very simple but i don't know CheckBox Pin
g3e3-Mar-05 3:28
g3e3-Mar-05 3:28 
GeneralRe: very simple but i don't know CheckBox Pin
David Crow3-Mar-05 4:38
David Crow3-Mar-05 4:38 
GeneralRe: very simple but i don't know CheckBox Pin
Anand for every one3-Mar-05 5:18
Anand for every one3-Mar-05 5:18 
GeneralCheckBox simple Pin
Anand for every one3-Mar-05 2:33
Anand for every one3-Mar-05 2:33 
GeneralRe: CheckBox simple Pin
ThatsAlok3-Mar-05 2:38
ThatsAlok3-Mar-05 2:38 
GeneralRe: CheckBox simple Pin
Ravi Bhavnani3-Mar-05 7:58
professionalRavi Bhavnani3-Mar-05 7:58 
GeneralRe: CheckBox simple Pin
ThatsAlok3-Mar-05 20:32
ThatsAlok3-Mar-05 20:32 
GeneralCheck the Task Scheduler on Work Items Pin
bosfan3-Mar-05 2:21
bosfan3-Mar-05 2:21 
GeneralKeyboard buffer Pin
vidhyas3-Mar-05 1:54
vidhyas3-Mar-05 1:54 
GeneralRe: Keyboard buffer Pin
David Crow3-Mar-05 2:02
David Crow3-Mar-05 2:02 
GeneralRe: Keyboard buffer Pin
vidhyas3-Mar-05 2:11
vidhyas3-Mar-05 2:11 
GeneralRe: Keyboard buffer Pin
David Crow3-Mar-05 2:26
David Crow3-Mar-05 2:26 
GeneralRe: Keyboard buffer Pin
vidhyas3-Mar-05 20:24
vidhyas3-Mar-05 20:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.