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

C socket 傳送json

吉茹定2年前10瀏覽0評論

在 C 語言中,socket 是一種常見的網絡編程方式。而對于傳輸數據格式,JSON 是一種輕量級的數據交換格式。下面將介紹如何使用 socket 傳送 JSON 數據。

首先需要導入以下頭文件:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

接著可以定義一個 JSON 字符串作為發送的數據:

char *json_str = "{ \"name\": \"John\", \"age\": 30 }";

然后需要設置 socket 的基本信息,如地址、端口等:

int sockfd;
struct sockaddr_in server_addr;
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0))< 0) {
perror("socket error");
exit(1);
}
memset(&server_addr, 0, sizeof(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");

接著可以使用connect函數連接到服務器:

if (connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr))< 0) {
perror("connect error");
exit(1);
}

在連接成功后,可以使用send函數將 JSON 數據發送給服務器:

if (send(sockfd , json_str , strlen(json_str) , 0)< 0) {
perror("send error");
exit(1);
}

如果需要接收服務器返回的數據,可以使用recv函數:

char buffer[1024];
if (recv(sockfd, buffer, 1024, 0)< 0) {
perror("recv error");
exit(1);
}
printf("Server response: %s\n", buffer);

最后使用close函數關閉 socket 連接:

close(sockfd);

以上就是如何使用 C socket 傳送 JSON 數據的介紹。