hi, while receiving a http request from client, Segmenation fault error is there.
Following is code:
Please help.Code:#include<iostream> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <string.h> using namespace std; int main() { int sock, connected, bytes_recieved; char recv_data[1024]; struct sockaddr_in server_addr,client_addr; socklen_t sin_size; if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) { cout<<"Socket Error Reason:"<<strerror(errno); exit(1); } server_addr.sin_family = AF_INET; server_addr.sin_port = htons(8081); server_addr.sin_addr.s_addr = INADDR_ANY; bzero(&(server_addr.sin_zero),8); if (bind(sock, (struct sockaddr *)&server_addr, sizeof(struct sockaddr))== -1) { cout<<"Unable to bind: Reason="<<strerror(errno); exit(1); } if (listen(sock, 5) == -1) { cout<<"Listening error: Reason="<<strerror(errno); exit(1); } cout<<"\nTCPServer Waiting for client on port 8081"; cin.sync(); sin_size = sizeof(struct sockaddr_in); connected = accept(sock, (struct sockaddr *)&client_addr,&sin_size); cout<<"\n Server got a connection from "<<ntohs(client_addr.sin_port)<<endl; bytes_recieved = recv(connected,recv_data,1024,0); recv_data[bytes_recieved] = '\0'; if((bytes_recieved==0)||(strcmp(recv_data,"\0")==0)) { close(connected); } else cout<<"\n RECIEVED DATA = "<<recv_data; cin.sync(); shutdown(sock,2); close(sock); return 0; }



LinkBack URL
About LinkBacks


