C++-发送的请求未到达其他计算机
C++ - Sended request is not reaching other computer
我使用带有C++的libcurl通过Internet向另一台主机(我朋友的计算机)发送HTTP请求。现在,另一端使用Node.js脚本来接收和处理请求。我已经在我的计算机之间的本地网络上尝试了代码(C++和Node),一切都很好。这是代码,如果你想看的话:
CURL *handle;
string response;
curl_global_init(CURL_GLOBAL_WIN32);
handle = curl_easy_init();
curl_easy_setopt(handle, CURLOPT_URL, "10.10.10.10:7890"); //<= IP:PORT of the remote host
curl_easy_setopt(handle, CURLOPT_POSTFIELDS, "This is my POST request data!!");
curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_to_string);
curl_easy_setopt(handle, CURLOPT_WRITEDATA, &response);
curl_easy_perform(handle);
curl_easy_cleanup(handle);
Node.js代码:
var http = require("http");
var server = http.createServer(function(request, response) {
request.on('data', function(chunk) {
console.log("We got a connection!");
console.log("Received POST data:");
console.log(chunk.toString());
});
});
server.listen(7890);
console.log("Server is listening");
正如我所说,在我的本地网络上,它运行得很好,但为什么我的朋友没有收到请求?我注意到我的代码(C++部分)在关闭之前需要一些时间,就好像它在尝试连接一样。这是某种防火墙问题吗?我们曾尝试禁用它,但没有任何改变。我们几乎完全没有网络,我们正试图进入其中。
如果有人能帮助我们,请提前感谢!
您朋友的家庭路由器需要知道如何处理在端口7890上从互联网请求的连接。它需要配置为将该端口上的任何通信转发到您朋友计算机的特定内部IP地址。
并不是所有的家庭路由器都能进行端口转发,许多制造商都有不同的设置方式。
朋友电脑上的任何软件防火墙也需要知道通过7890端口的通信是安全的。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- 在其他文件中创建类时在 c++ 项目中不起作用
- 类与私有变量的其他类之间的线程安全性
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- GlobalAlloc而不是其他分配方法
- QT.如何使用QTNetwork在网络上查看其他计算机
- Visual C 程序不在其他计算机中运行
- 在其他计算机 MVCP100d 中打开 EXE 需要什么文件
- 将 c++ 游戏部署到其他窗口计算机
- ShellExecute 不适用于其他计算机
- C++-发送的请求未到达其他计算机
- struct-statc++未在其他计算机中编译
- 将我的DirectX应用程序移植到其他计算机
- Visual C++2010-将项目复制到其他计算机后出现多个未解决的外部错误