gpt4 book ai didi

c - C 中的示例 linux 服务器对 IE10 没有响应

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:38 25 4
gpt4 key购买 nike

我正在学习在 Linux 中使用套接字进行基本的网络编程。我写了一个示例程序如下:

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include<arpa/inet.h>
#include <unistd.h>
#include <errno.h>
#define SERVER_PORT 9000

unsigned int client_s;
int main(int argc, char *argv[])
{
unsigned int server_s = 0; ///server socket
struct sockaddr_in server_addr; /// server address
struct sockaddr_in client_addr; ///client address
struct in_addr client_pi_addr; /// client ip address

int addr_len; /// internet address length

unsigned int ids; ///thread arguments

/// create a new socket
server_s = socket(AF_INET, SOCK_STREAM, 0);
if( !server_s)
return -1;

server_addr.sin_family = AF_INET; /// internet
server_addr.sin_port = htons(SERVER_PORT); /// host to network string : port 9000
server_addr.sin_addr.s_addr = htonl(INADDR_ANY); /// listen on any (all) addresses, host to network long

/// bind it
if (bind(server_s, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0 )
return -2;

/// listen over it

if( listen(server_s, 100) < 0 ) /// 100 : backlog
{
perror("Error in listen");
}

while (1)
{

addr_len = sizeof(client_addr);
client_s = accept(server_s, (struct sockaddr *)&client_addr, &addr_len);

if(client_s < 0)
{
perror("Error accepting connection");
exit(-1);
}
else
{

ids = client_s;

char outbuf[128];

strcpy(outbuf, "HTTP/1.1 200 OK\nContent-Type:text/html\n\n");
if( send(client_s, outbuf, strlen(outbuf), 0) < 0 )
perror("ERROR in send");
if( send(client_s, "OKIE", 4, 0) < 0 )
perror("Error in sending oK : ");
close(client_s);
}
}
close (server_s);
return 0;
}

现在,当我在 IP:9000 上使用 Chrome 进行查询时,我在浏览器中得到的预期响应为“OKIE”。但是当我尝试在 Internet Explorer 10 中执行相同操作时,没有任何响应。 IE 报告此页面无法显示。

任何解释都会很有帮助。

出于好奇,我发布了这个问题。如果完全没有意义,请随时关闭此问题:)。

最佳答案

在我看来这是与 IE 相关的问题 - 它只是不显示内容,没有很好的 header (我的意思是不仅列出了 Content-Type header )和有效的 html(“OKie”-不是“内容类型:文本/html”)。我认为将 Content-Type 更改为 text/plain 可能会针对 IE 修复它。

关于c - C 中的示例 linux 服务器对 IE10 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19088150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com