如何用C++写一个客户端请求服务器
时间: 2023-05-12 21:04:49 浏览: 84
可以使用C语言中的socket库来实现客户端请求服务器的功能。具体步骤如下:
1. 创建socket:使用socket()函数创建一个socket对象。
2. 连接服务器:使用connect()函数连接服务器。
3. 发送请求:使用send()函数向服务器发送请求。
4. 接收响应:使用recv()函数接收服务器的响应。
5. 关闭socket:使用close()函数关闭socket对象。
下面是一个简单的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#define SERVER_IP "127.0.0.1"
#define SERVER_PORT 8888
int main()
{
int sock;
struct sockaddr_in server_addr;
char message[100];
// 创建socket
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == -1)
{
printf("Failed to create socket\n");
return -1;
}
// 设置服务器地址
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr(SERVER_IP);
server_addr.sin_port = htons(SERVER_PORT);
// 连接服务器
if (connect(sock, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0)
{
printf("Failed to connect to server\n");
return -1;
}
// 发送请求
strcpy(message, "Hello server");
if (send(sock, message, strlen(message), 0) < 0)
{
printf("Failed to send message\n");
return -1;
}
// 接收响应
if (recv(sock, message, 100, 0) < 0)
{
printf("Failed to receive message\n");
return -1;
}
printf("Server response: %s\n", message);
// 关闭socket
close(sock);
return 0;
}
```