欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c socket 怎么傳json

林雅南2年前8瀏覽0評論

在c語言的socket編程中,我們可以使用JSON格式傳輸數據。JSON是一種輕量級的數據交換格式,易于閱讀和編寫。下面我們來逐步了解如何使用c語言的socket傳輸JSON。

//導入相關頭文件
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<stdbool.h>
#include<json-c/json.h>
int main(int argc, char *argv[])
{
//創建socket
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in addr;
bzero(&addr, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(8888);
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
//連接服務器
int connfd = connect(sockfd, (const struct sockaddr*) &addr, sizeof(addr));
//創建JSON對象
json_object *jobj = json_object_new_object();
json_object *jstring = json_object_new_string("Hello, JSON!");
json_object_object_add(jobj, "message", jstring);
//將JSON格式化為字符串
const char *json_string = json_object_to_json_string(jobj);
//發送數據
send(sockfd, json_string, strlen(json_string), 0);
//釋放內存
json_object_put(jobj);
close(sockfd);
return 0;
}

上述代碼中,我們首先創建了socket,然后創建了一個JSON對象,將該對象格式化為字符串后使用send函數發送到服務器。需要注意的是,在發送JSON數據之前,我們需要導入json-c庫并創建JSON對象,使用json_object_to_json_string函數將對象轉換成字符串格式。在接收方,我們需要使用json-c庫中的json_object_from_string函數將JSON字符串解析成JSON對象,以便對其中的字段進行解析。