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

C語言socket發送json

洪振霞1年前9瀏覽0評論

在C語言中使用socket來發送JSON數據十分常見,下面是一份示例代碼:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define SERVER_IP "127.0.0.1"
#define SERVER_PORT 8888
int main(int argc, char* argv[]) {
int client_sockfd;
struct sockaddr_in server_addr;
char buf[1024];
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr(SERVER_IP);
server_addr.sin_port = htons(SERVER_PORT);
if ((client_sockfd = socket(AF_INET, SOCK_STREAM, 0))< 0) {
perror("socket error");
return -1;
}
if (connect(client_sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr))< 0) {
perror("connect error");
return -1;
}
char* json_data = "{\"name\": \"tom\", \"age\": 18, \"gender\": \"male\"}";
if (send(client_sockfd, json_data, strlen(json_data), 0)< 0) {
perror("send error");
return -1;
}
if (recv(client_sockfd, buf, sizeof(buf), 0)< 0) {
perror("recv error");
return -1;
}
printf("server response: %s\n", buf);
close(client_sockfd);
return 0;
}

首先需要定義服務器的IP地址和端口號,然后創建一個客戶端socket,連接到服務器,并且將JSON數據發送出去。

在上述代碼中,JSON數據使用字符串表示,可以根據具體的需求進行修改。

發送JSON數據時需要注意的是,數據長度不能超過1024個字節,如果數據過長需要進行分片發送。

當服務器收到JSON數據后,可以根據具體的業務邏輯進行處理,并且返回處理結果給客戶端。

最后,記得關閉socket連接。