Необходимо написать "урезанный" HTTP сервер. Урезанность состоит в том, что возвращаться будет просто список HTTP заголовков, которые к серверу пришли ( использование - тестирование проксей ) Код Код (Text): listener = socket(AF_INET, SOCK_STREAM, 0); if( listener < 0 ) { Error1( "create socket (%d)", errno ); return( 0 ); } addr.sin_family = AF_INET; addr.sin_port = htons( Port ); addr.sin_addr.s_addr = htonl( INADDR_ANY ); if( bind( listener, ( struct sockaddr *)&addr, sizeof( struct sockaddr_in ) ) < 0 ) { Error2( "bind %u (%d)", Port, errno ); return( 0 ); } if( listen( listener, SOMAXCONN ) < 0 ) { Error1( "listen (%d)", errno ); return( 0 ); } while( 1 ) { sock = accept( listener, NULL, 0 ); // общаемся с клиентом Коннект должен происходить по некоторому порту Port. Набираю в браузере "http://<server-host>:<Port>/" и ничего - ( Firefox не может установить соединение с сервером ). Что делаю не так?
Код (Text): sinLen = sizeof(sockAddr); clientSocket = accept(servSocket, (struct sockaddr *)&sockAddr, &sinLen); нули в качестве параемтров не рулят у accept'a.
Рулят. "A null pointer may be specified for addr if the address information is not desired; in this case, addrlen is not used and should also be null. " http://www.freebsd.org/cgi/man.cgi?query=accept&apropos=0&sektion=0&manpath=FreeBSD+6.2-RELEASE&format=html
Кстати, вполне вероятно, что причина кроется в самом Фаерфоксе, ибо с некоторых пор, например, та же "чистая" Мозилла имеет спец. настройки по безопасности, запрещающие браузеру соединяться с некоторым списком портов, выводя при этом мессаджбокс "Access to the port number given has been disabled for security reasons."(http://www.mozilla.org/projects/netlib/PortBanning.html). Так что, как было упомянуто выше: netstat -an && telnet 127.0.0.1 80