CIP传输二进制数据代码
时间: 2023-07-14 14:13:44 浏览: 46
以下是一个简单的 C++ 代码示例,用于将二进制数据通过 CIP 协议进行传输:
```c++
#include <iostream>
#include <cstring>
#include <sys/socket.h>
#include <arpa/inet.h>
using namespace std;
int main() {
// 创建 socket
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd == -1) {
cerr << "Error creating socket!" << endl;
return 1;
}
// 设置服务器地址信息
struct sockaddr_in serverAddr;
serverAddr.sin_family = AF_INET;
serverAddr.sin_port = htons(8888);
serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
// 连接服务器
if (connect(sockfd, (struct sockaddr *)&serverAddr, sizeof(serverAddr)) == -1) {
cerr << "Error connecting to server!" << endl;
return 1;
}
// 二进制数据
char binaryData[] = {0x01, 0x02, 0x03, 0x04, 0x05};
// 发送二进制数据
if (send(sockfd, binaryData, sizeof(binaryData), 0) == -1) {
cerr << "Error sending data!" << endl;
return 1;
}
cout << "Binary data sent successfully!" << endl;
// 关闭 socket
close(sockfd);
return 0;
}
```
在上面的代码中,我们首先创建了一个 socket,并设置了服务器地址信息。然后,我们连接到服务器,并将二进制数据发送到服务器。最后,我们关闭了 socket。
请注意,我们使用了 `send` 函数来发送二进制数据。在该函数中,我们将数据作为第二个参数传递,并将数据大小作为第三个参数传递。在本例中,我们使用 `sizeof` 操作符来计算二进制数据的大小。