KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
My recv function hangs while getting reponse from server. Client side code in c/c++: void sockStuff() { int sock, bytes_recieved,bytes_send; char send_data[1024], recv_data[4096]; struct hostent *host; struct sockaddr_in server_addr; host = gethostbyname("127.0.0.1"); if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror("SocketError"); exit(1); } server_addr.sin_family = AF_INET; server_addr.sin_port = htons(50500); server_addr.sin_addr = *((struct in_addr *) host->h_addr); bzero(&(server_addr.sin_zero), 8); if (connect(sock, (struct sockaddr *) &server_addr, sizeof(struct sockaddr)) == -1) { perror("ConnectToError"); exit(1); } bytes_send = send(sock, a, strlen(a), 0); bytes_send = shutdown(sock, 1); bytes_recieved = recv(sock, recv_data, 4096, 0); //Where the program hangs?? recv_data[bytes_recieved] = '\0'; printf("\nRecieved data = %s ", recv_data); cout << endl << endl; shutdown(sock,2); } My Client is C/C++ and server side is OpenEdge Progress. Please see code and suggest what went wrong with this.??
Tags (comma-separated)
Save Edits
Cancel