Problem with socket program in Client side
-
Hello All, I use the following code at Client side to connect with server. In this program, when i start Server, client will stop or hang on the "connect" function. I am not getting where is problem in client program. Server side code i tested, but it is working. I place the client side code below. //// Client code //// CString str; int sock,iResult,iOptVal,iSenderAddrSize; int BUFF_SIZE = 30,iError; char recv_data[30]; char* localIP = ""; struct sockaddr_in server_addr,SenderAddr; struct hostent * lpHostEntry; WSADATA wsaData; iSenderAddrSize = sizeof(SenderAddr); iResult = WSAStartup(MAKEWORD(2,2), &wsaData); if (iResult != NO_ERROR) AfxMessageBox(_T("Error at WSAStartup()\n")); if ((sock = socket(AF_INET, SOCK_STREAM,0)) == -1) AfxMessageBox(_T("Error at Socket")); gethostname(localIP,56); lpHostEntry = gethostbyname(localIP); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(2050); server_addr.sin_addr.s_addr = inet_addr("192.168.1.9"); iError = connect( sock, (SOCKADDR*) &server_addr, sizeof(server_addr) ); if(iError == SOCKET_ERROR){ iError = WSAGetLastError(); CString s1; s1.Format(_T("Connect Error = %d"),iError); AfxMessageBox(s1); exit(1); } while(1){ memset(recv_data,0,sizeof(recv_data)); int iResult = recv(sock,recv_data,BUFF_SIZE,0) ; if(iResult > 0) { recv_data[BUFF_SIZE] = '\0'; str = inet_ntoa(SenderAddr.sin_addr); AfxMessageBox(str); } else{ iError = WSAGetLastError(); } } /// Pleae see the above code and give some some hint... Thanks in advance..
-
Hello All, I use the following code at Client side to connect with server. In this program, when i start Server, client will stop or hang on the "connect" function. I am not getting where is problem in client program. Server side code i tested, but it is working. I place the client side code below. //// Client code //// CString str; int sock,iResult,iOptVal,iSenderAddrSize; int BUFF_SIZE = 30,iError; char recv_data[30]; char* localIP = ""; struct sockaddr_in server_addr,SenderAddr; struct hostent * lpHostEntry; WSADATA wsaData; iSenderAddrSize = sizeof(SenderAddr); iResult = WSAStartup(MAKEWORD(2,2), &wsaData); if (iResult != NO_ERROR) AfxMessageBox(_T("Error at WSAStartup()\n")); if ((sock = socket(AF_INET, SOCK_STREAM,0)) == -1) AfxMessageBox(_T("Error at Socket")); gethostname(localIP,56); lpHostEntry = gethostbyname(localIP); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(2050); server_addr.sin_addr.s_addr = inet_addr("192.168.1.9"); iError = connect( sock, (SOCKADDR*) &server_addr, sizeof(server_addr) ); if(iError == SOCKET_ERROR){ iError = WSAGetLastError(); CString s1; s1.Format(_T("Connect Error = %d"),iError); AfxMessageBox(s1); exit(1); } while(1){ memset(recv_data,0,sizeof(recv_data)); int iResult = recv(sock,recv_data,BUFF_SIZE,0) ; if(iResult > 0) { recv_data[BUFF_SIZE] = '\0'; str = inet_ntoa(SenderAddr.sin_addr); AfxMessageBox(str); } else{ iError = WSAGetLastError(); } } /// Pleae see the above code and give some some hint... Thanks in advance..