5 {
6 if (argc != 3) {
7 std::cerr << "client: Invalid arguments\n"
8 << argv[0] << " <host> <port>\n";
9 return EXIT_FAILURE;
10 }
11
12 try {
16 if (sock.connect(argv[1], argv[2])) {
17 std::string data;
18 std::cout << "enter data: ";
19 std::getline(std::cin, data);
20 if (sock.write_all(data.c_str(), data.length()) > 0)
21 std::cout << "Sent " << data.length() << " bytes.\n";
22 } else {
23 std::cout << "client: Error connecting..\n";
24 }
26 std::cerr <<
"client: " << e.
text() <<
"\n";
27 return EXIT_FAILURE;
28 }
29 return EXIT_SUCCESS;
30}
Lightweight exception wrapper for MXNetwork failures.
std::string text() const
Return the stored error text.
C++ wrapper around the MXNetwork socket API.
void mx_socket_ignore_pipe_signal()
Ignore SIGPIPE on platforms that require it.
@ TYPE_INET
IPv4 stream socket.
RAII helper that initializes and shuts down the platform socket subsystem.