C++ socket send 示例
时间: 2023-08-04 20:21:07 浏览: 133
下面是一个简单的 C++ 代码示例,用于通过 socket 发送数据:
```c++
#include <iostream>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <cstring>
#define PORT 12345
#define BUFFER_SIZE 1024
int main() {
int client_socket = socket(AF_INET, SOCK_STREAM, 0);
sockaddr_in server_address{};
server_address.sin_family = AF_INET;
server_address.sin_port = htons(PORT);
inet_pton(AF_INET, "127.0.0.1", &server_address.sin_addr);
connect(client_socket, (sockaddr *)&server_address, sizeof(server_address));
char buffer[BUFFER_SIZE] = {0};
const char *data = "Hello, World!";
size_t data_size = strlen(data);
memcpy(buffer, data, data_size);
send(client_socket, buffer, data_size, 0);
close(client_socket);
return 0;
}
```
在这个示例中,我们首先创建了一个 socket 对象,然后使用 `connect()` 方法连接到目标主机。接下来,我们将要发送的数据存储在一个字符数组中,然后使用 `send()` 方法发送数据。最后,我们关闭 socket 连接,释放资源。
需要注意的是,`send()` 方法发送的数据必须是字符数组或指向字符数组的指针,因此我们使用 `memcpy()` 方法将字符串复制到字符数组中。
阅读全文