udp发送和接收数据的c++代码

动态 未结 0 108
小小草
小小草 LV1 2023年9月23日 23:40 发表
以下是UDP发送和接收数据的C++代码示例: 发送数据: ```c++ #include #include #include #include #include int main() { int sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd < 0) { std::cerr << "Error creating socket" << std::endl; return -1; } struct sockaddr_in servaddr; memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(12345); servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); const char* message = "Hello, UDP!"; int n = sendto(sockfd, message, strlen(message), 0, (struct sockaddr*)&servaddr, sizeof(servaddr)); if (n < 0) { std::cerr << "Error sending message" << std::endl; return -1; } close(sockfd); return 0; } ``` 接收数据: ```c++ #include #include #include #include #include int main() { int sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd < 0) { std::cerr << "Error creating socket" << std::endl; return -1; } struct sockaddr_in servaddr; memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(12345); servaddr.sin_addr.s_addr = INADDR_ANY; if (bind(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)) < 0) { std::cerr << "Error binding socket" << std::endl; return -1; } char buffer[1024]; struct sockaddr_in cliaddr; socklen_t len = sizeof(cliaddr); int n = recvfrom(sockfd, buffer, sizeof(buffer), 0, (struct sockaddr*)&cliaddr, &len); if (n < 0) { std::cerr << "Error receiving message" << std::endl; return -1; } std::
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复