“这有什么问题?”;“简单http服务器”;程序(c代码)

“这有什么问题?”;“简单http服务器”;程序(c代码),http,sockets,Http,Sockets,下面是我为演示HTTP服务器如何工作而编写的一段简单代码。 我在cygwin下编译并运行它,但我不能使用web浏览器连接到这个简单的http服务器。在运行简单http服务器之后,我仍然可以在端口80运行apache,如果apache没有运行,“netstat-an”显示端口80没有被占用 我编写了另一个简单的程序,它向简单的http服务器发送一个简单的“hello”字符串,然后得到响应 这个程序怎么了?为什么我不能用网络浏览器连接它,但我可以用另一个简单的程序连接它 港口何时被占用?在“绑定”或

下面是我为演示HTTP服务器如何工作而编写的一段简单代码。 我在cygwin下编译并运行它,但我不能使用web浏览器连接到这个简单的http服务器。在运行简单http服务器之后,我仍然可以在端口80运行apache,如果apache没有运行,“netstat-an”显示端口80没有被占用

我编写了另一个简单的程序,它向简单的http服务器发送一个简单的“hello”字符串,然后得到响应

  • 这个程序怎么了?为什么我不能用网络浏览器连接它,但我可以用另一个简单的程序连接它

  • 港口何时被占用?在“绑定”或“聆听”之后

  • 如果一个应用程序正在使用特定网络接口的端口(例如192.168.2.1:80,假设存在多个网络接口),那么另一个应用程序是否可以在另一个接口(例如192.168.55.1:80)使用相同的端口

  • 运行httpd时,进程列表中有多个httpd进程,只有一个进程使用0.0.0.0:80,如果在apache中使用cygwin,其他httpd是否使用其他UDP端口?为什么?


  • 端口的字节顺序不正确

    SocketAddress.sin_port        =  htons (PORT);
    
  • 这个程序怎么了?为什么我不能用网络浏览器连接它,但我可以用另一个简单的程序连接它

    很可能您的端口需要按网络字节顺序。使用HTON(端口)

  • 港口何时被占用?在“绑定”或“聆听”之后? 绑定后

  • 如果一个应用程序正在使用特定网络接口的端口(例如192.168.2.1:80,假设存在多个网络接口),那么另一个应用程序是否可以在另一个接口(例如192.168.55.1:80)使用相同的端口? 对


  • 2.如果端口已在使用中,则bind调用将返回一个错误。
    SocketAddress.sin_port        =  htons (PORT);