C语言Socket发送数组
时间: 2024-02-03 14:06:57 浏览: 16
在 C 语言中,可以通过以下步骤将数组发送给另一个通过 Socket 连接的计算机:
1. 创建 Socket:使用 `socket()` 函数创建一个 Socket。
2. 连接 Socket:使用 `connect()` 函数连接到另一个计算机的 Socket。
3. 发送数组:使用 `send()` 函数将数组发送给另一个计算机的 Socket。在发送数组之前,需要将数组转换为字符数组(或字节数组)。
以下是一个简单的示例代码,用于发送一个整数数组:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define PORT 8080
int main() {
int sock = 0, valread;
struct sockaddr_in serv_addr;
int arr[] = {1, 2, 3, 4, 5};
// 创建 Socket
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
printf("\n Socket creation error \n");
return -1;
}
memset(&serv_addr, '0', sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(PORT);
// 连接 Socket
if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
printf("\nConnection Failed \n");
return -1;
}
// 发送数组
send(sock, arr, sizeof(arr), 0);
printf("Array sent\n");
return 0;
}
```
注意,此示例代码仅演示了如何发送整数数组。如果需要发送其他类型的数组,需要进行相应的转换。