c++ 的unsigned char数组怎么通过tcp发送数据
时间: 2023-11-12 20:05:35 浏览: 49
在 C++ 中,可以使用 socket 编程来通过 TCP 发送 unsigned char 数组的数据。具体步骤如下:
1. 创建 Socket 对象,使用 socket() 函数。
2. 连接服务器,使用 connect() 函数。
3. 发送数据,使用 send() 函数。
4. 关闭 Socket 连接,使用 close() 函数。
以下是一个简单的示例代码:
```
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main() {
// 创建 Socket 对象
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
// 连接服务器
struct sockaddr_in server_addr;
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8888); // 服务器端口号
inet_aton("127.0.0.1", &server_addr.sin_addr); // 服务器 IP 地址
connect(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr));
// 发送数据
unsigned char data[] = {0x01, 0x02, 0x03, 0x04, 0x05};
int len = sizeof(data) / sizeof(data[0]);
send(sockfd, data, len, 0);
// 关闭 Socket 连接
close(sockfd);
return 0;
}
```
在这个示例中,我们创建了一个 Socket 对象,并连接了一个服务器。然后,我们发送了一个 unsigned char 数组。最后,我们关闭了 Socket 连接。
需要注意的是,这里的 send() 函数的第三个参数是发送数据的长度,也就是数组的大小。在上面的示例中,我们使用了 sizeof() 操作符来计算数组的大小。