Ask Your Question
0

In C++, what is the method for transmitting a Json string over TCP/IP?

asked 2023-05-18 00:57:05 +0000

plato gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2023-05-18 01:13:01 +0000

bukephalos gravatar image

In C++, you can transmit a Json string over TCP/IP by following these steps:

  1. Convert the Json string to a char array or a string.
  2. Set up a socket connection to the remote server.
  3. Send the Json string over the socket connection using the send() or write() function.
  4. Wait for a response from the server (if necessary) using the recv() or read() function.
  5. Convert the response to a Json string (if applicable).

Here's some sample code to send a Json string over TCP/IP:

#include <iostream>
#include <cstring>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

using namespace std;

int main(int argc, char *argv[]) {

    // Create a Json string
    string jsonStr = "{ \"name\": \"John Smith\", \"age\": 40 }";

    // Create a char array from the Json string
    char jsonCharArr[jsonStr.length() + 1];
    strcpy(jsonCharArr, jsonStr.c_str());

    // Set up the socket connection
    int sockfd;
    sockaddr_in serv_addr;
    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(8080);
    inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr);
    connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr));

    // Send the Json string over the socket connection
    send(sockfd, jsonCharArr, strlen(jsonCharArr), 0);

    // Close the socket connection
    close(sockfd);

    return 0;
}
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-05-18 00:57:05 +0000

Seen: 12 times

Last updated: May 18 '23