C語言中的Socket編程是一個非常重要的領域,它提供了一種機制,使得兩個或者更多的進程之間可以進行通信。在C語言中,Socket編程是通過套接字來實現的,核心是提供了一組函數接口,可以將程序與網絡協議棧進行綁定,以便進行收發數據通過Internet。在Socket編程中,發送JSON數據也是常見的需求。
//創建socket int client_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //連接服務端 struct sockaddr_in server_addr; memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); server_addr.sin_port = htons(PORT); connect(client_fd, (struct sockaddr*)&server_addr, sizeof(server_addr)); //構造JSON數據 json_t* root = json_object(); json_object_set_new(root, "name", json_string("Tom")); json_object_set_new(root, "age", json_integer(20)); //將JSON數據序列化為字符串 char* json_str = json_dumps(root, JSON_COMPACT|JSON_ENSURE_ASCII); //發送數據 write(client_fd, json_str, strlen(json_str)); //釋放資源 free(json_str); json_decref(root); close(client_fd);
上述代碼是一個使用c socket發送JSON數據的示例。首先我們創建一個Socket,然后連接到指定的服務端。接著,我們構造一個JSON數據對象,包含個人信息,例如姓名和年齡。最后,我們將JSON對象序列化為字符串,并通過Socket發送到服務端。最后,我們釋放資源并關閉Socket連接。