c++创建udp套接字
时间: 2023-07-31 15:12:32 浏览: 58
要在 C++ 中创建 UDP 套接字,需要使用以下步骤:
1. 包含头文件:
```c++
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#include <cstring>
#include <iostream>
```
2. 创建套接字:
```c++
int sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock < 0) {
std::cerr << "Error creating socket" << std::endl;
exit(1);
}
```
3. 设置套接字地址和端口号:
```c++
struct sockaddr_in addr;
memset((char*)&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY); // 绑定本地所有 IP 地址
addr.sin_port = htons(port); // 设置端口号
```
其中,`port` 是你要使用的端口号。
4. 绑定套接字:
```c++
int bindResult = bind(sock, (struct sockaddr*)&addr, sizeof(addr));
if (bindResult < 0) {
std::cerr << "Error binding socket to port " << port << std::endl;
exit(1);
}
```
现在,你已经成功创建了一个 UDP 套接字,并将其绑定到指定的地址和端口号上。你可以通过 `sock` 变量来访问该套接字,进行后续的数据发送和接收操作。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)