写一个socket客户端程序访问正常. 用telent访问也正常, 但是浏览器作为客户端访问直接报错, 压根不会进入while循环中, 这是为啥 ?
浏览器访问 127.0.0.1:8899
服务端程序直接退出, 报了一行错误 : Segmentation fault (核心已转储)
服务端代码大概长下面这样
int main(int argc, char *argv[]){
if(argc != 2){
err_msg("Usage: ./studyHttpd \n");
}
struct sockaddr_in server_sock, client_sock;
int sockfd, client_fd;
int sin_size;
pthread_t ntid;
if(-1 == (sockfd = socket(AF_INET, SOCK_STREAM, 0))) err_exit("socket");
printf("Socket id = %d\n", sockfd);
server_sock.sin_family = AF_INET;
server_sock.sin_port = htons(PORT);
server_sock.sin_addr.s_addr = INADDR_ANY;
bzero(&(server_sock.sin_zero), 8);
int i = 1;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i));
if(-1 == bind(sockfd, (st