C++UDP发送消息ip端口
时间: 2023-07-30 19:11:05 浏览: 45
在C++中使用UDP发送消息需要使用套接字(socket)编程。下面是一个简单的示例代码,演示如何发送UDP消息到指定的IP地址和端口:
```cpp
#include <iostream>
#include <cstring>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define SERVER_IP "127.0.0.1" // 目标服务器IP地址
#define SERVER_PORT 12345 // 目标服务器端口号
int main() {
// 创建UDP套接字
int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
if (sockfd < 0) {
std::cerr << "Failed to create socket." << std::endl;
return 1;
}
// 设置服务器地址
struct sockaddr_in serverAddr;
std::memset(&serverAddr, 0, sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_port = htons(SERVER_PORT);
if (inet_pton(AF_INET, SERVER_IP, &(serverAddr.sin_addr)) <= 0) {
std::cerr << "Invalid server address." << std::endl;
return 1;
}
// 发送消息
const char* message = "Hello, UDP Server!";
ssize_t numBytesSent = sendto(sockfd, message, std::strlen(message), 0,
(struct sockaddr*)&serverAddr, sizeof(serverAddr));
if (numBytesSent < 0) {
std::cerr << "Failed to send message." << std::endl;
return 1;
}
std::cout << "Sent message: " << message << std::endl;
// 关闭套接字
close(sockfd);
return 0;
}
```
在代码中,我们首先创建了一个UDP套接字,并设置了目标服务器的IP地址和端口号。然后,使用`sendto`函数发送消息到服务器。最后,我们关闭了套接字。
请注意,此示例仅演示了如何发送UDP消息,并没有处理错误或接收服务器的响应。在实际应用中,你可能需要进行错误处理和接收服务器的回复。