Отправка команд на сервер с использованием библиотеки Poco - PullRequest
0 голосов
/ 16 января 2020

Я новичок в программировании сокетов. Я работаю с библиотекой 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". Пожалуйста, объясните, что означает эта конкретная строка. Этот код дает мне вывод. Но как работают команды? И есть ли способ отдавать команды с консоли? Спасибо.

1 Ответ

0 голосов
/ 19 марта 2020

Я не уверен, что вы хотите сделать здесь.

Вы пытаетесь сделать HTTP или нет?

Если нет, то создайте свой собственный текст, но не используйте порт 80 , так как это хорошо известный http порт.

Если вы хотите просто отправить все, что вы набираете через сокет TCP, тогда вы, вероятно, можете использовать StreamCopier для отправки всего с std::cin на str.

...