Socket是一種在應用程序之間進行數據傳遞的機制。C語言中可以使用Socket庫來實現網絡編程。在使用Socket進行數據傳遞時,常常需要發送JSON數據。JSON是一種輕量級的數據交換格式,可在不同平臺和編程語言之間進行數據交換。下面是在C語言中使用Socket發送JSON數據的示例:
#include#include #include #include #include #include #include // 定義JSON消息格式 typedef struct { char name[20]; int age; char gender[10]; } person_t; // 定義發送JSON消息的函數 int send_json(int sockfd, person_t person) { // 轉化為JSON字符串 char buf[1024]; sprintf(buf, "{name:\"%s\",age:%d,gender:\"%s\"}", person.name, person.age, person.gender); int n = strlen(buf); // 發送消息 if (send(sockfd, buf, n, 0) != n) { fprintf(stderr, "send error: %s\n", strerror(errno)); return -1; } return n; } int main(int argc, char* argv[]) { // 創建Socket int sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (sockfd == -1) { fprintf(stderr, "socket error: %s\n", strerror(errno)); exit(EXIT_FAILURE); } // 設置服務器地址 struct sockaddr_in servaddr; servaddr.sin_family = AF_INET; servaddr.sin_port = htons(9999); inet_pton(AF_INET, "127.0.0.1", &servaddr.sin_addr); // 連接服務器 if (connect(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)) == -1) { fprintf(stderr, "connect error: %s\n", strerror(errno)); exit(EXIT_FAILURE); } // 發送JSON消息 person_t person = {"Tom", 20, "male"}; int n = send_json(sockfd, person); if (n == -1) { fprintf(stderr, "send_json error: %s\n", strerror(errno)); exit(EXIT_FAILURE); } // 關閉Socket close(sockfd); return 0; }
上一篇vue下拉刷新demo
下一篇vue下拉過渡