【发布时间】:2020-01-16 20:40:39
【问题描述】:
我是套接字编程的新手。我正在使用 Poco 库。我在网上找到了这个例子。 (https://pocoproject.org/slides/200-Network.pdf)
#include "Poco/Net/SocketAddress.h"
#include "Poco/Net/StreamSocket.h"
#include "Poco/Net/SocketStream.h"
#include "Poco/StreamCopier.h"
#include <iostream>
int main(int argc, char** argv)
{
Poco::Net::SocketAddress sa("www.appinf.com", 80);
Poco::Net::StreamSocket socket(sa)
Poco::Net::SocketStream str(socket);
str << "GET / HTTP/1.1\r\n"
"Host: www.appinf.com\r\n"
"\r\n";
str.flush();
Poco::StreamCopier::copyStream(str, std::cout);
return 0;
}
我知道创建了一个套接字流。 我无法理解命令。 “/”在“GET”之后做什么或“1.1”是什么。请务必解释该特定行的含义。 这段代码确实给了我一个输出。但是这些命令是如何工作的?有没有办法从控制台发出命令?谢谢。
【问题讨论】:
-
发送到服务器的消息内容特定于服务器期望接收的内容。如果您连接到邮件服务器,则内容会有所不同,因为它们符合 SMTP 协议,但此特定内容是您与接受 HTTP 协议 1.1 版的 Web 服务器通信的方式。
标签: c++ sockets poco-libraries