c++ - Web server operation problem implemented in c language
phpcn_u1582
phpcn_u1582 2017-06-30 09:57:18
0
1
1127
#include  #include  #include  #include  #include  #include  void error_handling(char *message); int main(int argc,char *argv[]) { int serv_sock; int clnt_sock; struct sockaddr_in serv_addr; struct sockaddr_in clnt_addr; socklen_t clnt_addr_size; char message[] = "HTTP/1.1 200 OK\r\nContent-Type:text/html\r\n\r\nentity-body:sdf"; if(argc!=2){ printf("usage: %s \n",argv[0]); exit(1); } serv_sock = socket(PF_INET,SOCK_STREAM,0); if(serv_sock == -1) error_handling("socket() error"); memset(&serv_addr, 0 ,sizeof(serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); serv_addr.sin_port = htons(atoi(argv[1])); if(bind(serv_sock,(struct sockaddr*) &serv_addr,sizeof(serv_addr))==-1)error_handling("bind() error"); if(listen(serv_sock,5)==-1) error_handling("listen() error"); clnt_addr_size = sizeof(clnt_addr); clnt_sock = accept(serv_sock,(struct sockaddr*)&clnt_addr,&clnt_addr_size); if(clnt_sock==-1) error_handling("accept() error"); write(clnt_sock,message,sizeof(message)); close(clnt_sock); close(serv_sock); return 0; } void error_handling(char *message) { fputs(message,stderr); fputc('\n',stderr); exit(1); }

When running on Linux and accessing it in a browser, you will be prompted to download the bin file. If you run it on Win through cygwin, you cannot access the server. Please tell me how to make the browser receive the html

sent in the code.
phpcn_u1582
phpcn_u1582

reply all (1)
淡淡烟草味

It’s not necessarily a problem with the program. Before using the browser, have you tried telnet or wget/curl to the port under cygwin to see if it is available? Even in Linux, access to ports below 2048 requires authorization from the administrator user.

    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!