【发布时间】:2015-10-30 17:48:13
【问题描述】:
我是 C++ 菜鸟。
我想使用 Winsock 向 IP 地址发送 HTTP 请求。我在网上找到了很多内容,非常棒。所有示例都有相同的错误,我意识到它们都需要 Winsock。
我从未使用过 C++ 库,我不知道什么或如何将任何东西链接到我的项目(在 Visual Studio 中),或者我需要下载什么。
具体不喜欢下面这几行代码
#include<sys/socket.h> //socket
#include<arpa/inet.h> //inet_addr
#include<netdb.h> //hostent
Microsoft 指南没有告诉我如何修复库或将库链接到我的项目。
如何链接和使用 Winsock?
谢谢!
【问题讨论】:
-
this 有什么问题?你能问一个在容易找到的网页上没有回答的具体问题吗?
-
要求操作系统网络堆栈不是错误:)
-
幸福的三个步骤: 1. 在 MSDN 上找到所需函数的文档。 2. 向下滚动以找出要包含的标题。 3. 在它旁边,找到要链接的库。使用这三个步骤也适用于 WinSock。请注意,WinSock 和 Berkeley Socket API 有很大的重叠,但它们仍然明显不同。我还建议您不要使用低级套接字,而是使用类似的东西,例如ZeroMQ 甚至更抽象的类似 RPC 的网络层。这些最初设置起来有点复杂,但值得。
-
您要查找的大部分内容都在 winsock2.h 或 ws2tcpip.h 中。包括他们。请记住链接 ws2_32.lib,不要期望为 Linux 编写的程序可以在 Linux 以外的任何地方编译和运行。此外,read up on WSAStartup 和 also on WSACleanup 两者都需要。
-
我建议使用 boost 库中的套接字。他们工作的不仅仅是 Windows。您不必每天两次学习如何使用套接字,而需要切换到新平台。
标签: c++ visual-studio visual-studio-2015 winsock