I'm still getting the read "hang" on the client. I am not sure what I am doing wrong.
Server function
Code:
int send_Courses_Menu(int clientSocket){
int i, retval;
fd_set writefds;
FD_ZERO(&writefds);
FD_SET(clientSocket,&writefds);
for(i=1;i<=__COURSE__AMOUNT__;i++){
retval = select(clientSocket+1,NULL,&writefds,NULL,NULL);
if(retval){
write(clientSocket,courses[i].courseCode,strlen(courses[i].courseCode));
}
}
return 0;
}
client function
Code:
int fetch_Info(int sockfd){
int i, bytesRead;
char message[BUFSIZ + 1];
system("clear");
printf("Select a course to rate: \n\n");
for(i=1;i<=__COURSE__AMOUNT__;i++){
if((bytesRead = read(sockfd,message,BUFSIZ))>0){
message[bytesRead] = '\0';
sscanf(message,"%s",courses[i].courseCode);
courses[i].courseNumber = i;
printf("%d. %s\n",i, message);
}
}
return 0;
}
Appreciate any help