24 lines
719 B
C++
24 lines
719 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
|
|
class TcpNet {
|
|
|
|
public:
|
|
TcpNet();
|
|
|
|
// starts listening on port
|
|
int server(int port, const std::function<std::pair<bool, std::string>(std::string)>& process_request) const;
|
|
|
|
// writes request to server on address:port and returns response
|
|
[[nodiscard]] std::string client(const std::string &address, int portno, const std::string &request) const;
|
|
[[nodiscard]] std::vector<std::string> client(const std::string &address, int portno, const std::vector<std::string> &requests) const;
|
|
|
|
private:
|
|
static constexpr bool USE_LENGTH_HEADER = true;
|
|
static std::string read_from_socket(int sockfd) ;
|
|
static void write_to_socket(int sockfd, const std::string &str) ;
|
|
};
|