① UDP服务器
② UDP客户端
③ UDP广播
④ UDP组播
以下是一个简单的UDP服务器示例代码:
#include
#include
#include
#include
int main() {
int sockfd;
struct sockaddr_in server_addr, client_addr;
char buffer[1024];
// 创建UDP套接字
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
// 绑定服务器地址和端口
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8888);
server_addr.sin_addr.s_addr = INADDR_ANY;
bind(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));
// 接收客户端消息并回复
socklen_t client_len = sizeof(client_addr);
while (1) {
memset(buffer, 0, sizeof(buffer));
recvfrom(sockfd, buffer, sizeof(buffer), 0, (struct sockaddr *)&client_addr, &client_len);
std::cout << "Received message: " << buffer << std::endl;
sendto(sockfd, buffer, strlen(buffer), 0, (struct sockaddr *)&client_addr, client_len);
}
close(sockfd);
return 0;
}
这个例子中,我们首先创建了一个UDP套接字,然后绑定了服务器的地址和端口。接下来,我们进入一个无限循环,不断接收客户端发送的消息并回复相同的消息。这个简单的UDP服务器可以作为进一步扩展和改进的基础。
课程概述(课程共7500字,4段代码举例)
一、UDP协议
① UDP服务器
② UDP客户端
③ UDP广播
④ UDP组播