gpt4 book ai didi

c++ - AJAX 响应在 C++ 中无效,但在 Apache 中无效

转载 作者:搜寻专家 更新时间:2023-10-31 01:20:25 25 4
gpt4 key购买 nike

我想制作一个用 C++ 编写的服务器来为我的游戏提供动力。我学习了套接字的基础知识并编写了一个运行良好的基本聊天程序。现在我想创建一个类似于 Apache 的 HTTP 服务器,但只用于 AJAX 请求-响应部分。

我想一开始我复制了一个 Apache 响应文本,然后用 C++ 服务器程序发送了准确的响应。

问题是浏览器 (Firefox) 连接到 apache 并且一切正常,除了所有请求都得到正确的响应。

但是如果我用 C++ 客户端发送它,FireBug 会告诉我响应状态正常 (200),但没有实际的响应文本。 (这怎么可能?)

此响应文本与 apache 发送的完全相同。我做了一点点比较,它们是一样的。

原始响应的 php 文件

<?php echo "AS";echo  rand(0,9); ?>

原始源码:

不需要 jQuery。

main.cpp 有很多垃圾代码,比如 main3 和 main4 函数,这些不影响结果。

我知道 C++ 代码中的响应不是很好,因为连接关闭不是最好的;我稍后会解决这个问题,现在我想先发送成功响应。

最佳答案

问题:index.html 通过端口 80 上的 apache 提供。浏览器加载它并开始发送请求。请求文件(程序)在另一个端口上,在 8888 端口上,它已经是一个不同的服务器,它不启用 ajax(不知道为什么)来获取发布数据。该程序仍然可以与远程 服务器通信,但看不到响应。

一整天后,我使用 fiddler 程序进行了大量测试,捕获了响应,该方法对我很有帮助。

我使用 fiddler 程序来捕获好的答案和坏的答案。他们是一样的。在此之后,我关闭了我的套接字应用程序,并强制 fiddler 自动响应,并且来自“错误”答案的答案仍然有效。所以在那之后我用好的替换了坏的并且没有发生任何事情。好的文本在 :8888 端口上的错误答案仍然不好,但原始 :80 端口上的另一个很好,但它们绝对相同并且发送了相同的程序(fiddler)我认为如果响应丢失了一些东西不在同一个服务器地址(甚至不在同一个端口)。

在此之后我想可能缺少头文件,或者类似的东西。所以我将 apache 配置为监听 80 端口,加载到 index.html 中。在此之后我关闭了apache服务器并将端口更改为8888并且我运行了ajax请求并且我意识到它们是错误的,但是它们是由apache发送的,并且所有以前的请求(在同一端口上)都很好.所以问题只出在 ajax 方面 :D

非常感谢 Tony Lee 的 Fiddler 建议。

其实没有解决办法,但是有一个答案,为什么会出现这个问题。

关于c++ - AJAX 响应在 C++ 中无效,但在 Apache 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861935/

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