色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c語言tcp json

什么是TCP和JSON?TCP是面向連接的傳輸協(xié)議,提供可靠的數(shù)據(jù)傳輸,屬于網(wǎng)絡(luò)層協(xié)議。JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和編寫,常用于前后端數(shù)據(jù)傳輸。

C語言中,可以通過socket函數(shù)創(chuàng)建TCP連接,實(shí)現(xiàn)數(shù)據(jù)傳輸。下面是一個(gè)簡(jiǎn)單的TCP客戶端連接代碼:

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/socket.h>#include<arpa/inet.h>int main()
{
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd == -1)
{
perror("socket error");
exit(EXIT_FAILURE);
}
struct sockaddr_in server_addr;
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8080);
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
if(connect(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr))< 0)
{
perror("connect error");
exit(EXIT_FAILURE);
}
char buffer[1024] = {0};
char* message = "Hello TCP Server!";
send(sockfd, message, strlen(message), 0);
printf("Message sent: %s\n", message);
if(read(sockfd, buffer, 1024)< 0)
{
perror("read error");
exit(EXIT_FAILURE);
}
printf("Server reply: %s\n", buffer);
close(sockfd);
return 0;
}

使用TCP發(fā)送和接收數(shù)據(jù)后,如果需要傳輸JSON格式的數(shù)據(jù),可以使用cJSON庫(kù)。該庫(kù)可以輕松地創(chuàng)建、解析JSON格式的數(shù)據(jù)。

#include<stdio.h>#include "cJSON.h"
int main()
{
char* json_str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
cJSON* root = cJSON_Parse(json_str);
if(!root)
{
printf("Error before: %s\n", cJSON_GetErrorPtr());
}
else
{
cJSON* name = cJSON_GetObjectItem(root, "name");
cJSON* age = cJSON_GetObjectItem(root, "age");
cJSON* city = cJSON_GetObjectItem(root, "city");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("City: %s\n", city->valuestring);
cJSON_Delete(root);
}
return 0;
}

在以上代碼中,我們使用cJSON_Parse函數(shù)將JSON字符串轉(zhuǎn)換為cJSON對(duì)象,然后使用cJSON_GetObjectItem函數(shù)獲取JSON鍵值對(duì)的值。最后使用cJSON_Delete函數(shù)釋放對(duì)象內(nèi)存。