recvfrom(sockt, buf, sizeof(buf), 0, (struct sockaddr*)&addr, &len);
时间: 2024-10-10 12:13:07 浏览: 20
UDP&TCP;网络程序设计简单代码
4星 · 用户满意度95%
recvfrom() 函数是 C/C++ 中用于从网络套接字(socket)接收数据的函数,它通常在处理服务器端通信时使用。这个函数的一般格式如下:
```c
ssize_t recvfrom(int sock, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *addrlen);
```
参数含义解释:
1. `sock`:表示网络套接字的文件描述符。
2. `buf`:指针,指向存储接收到数据的缓冲区。
3. `len`:缓冲区大小(字节)。
4. `flags`:标志位,可以指定接收行为,如是否阻塞、是否有消息序等。
5. `addr`:地址结构体指针,用于存储发送方的地址信息,通常是 `struct sockaddr_in` 或 `struct sockaddr_storage`。
6. `addrlen`:指向 `addr` 结构体的长度指针,实际上是接收实际地址长度的地方。
函数返回值:
- 成功时返回接收到的数据的字节数,如果小于 `len` 表示已经接收到了完整的数据,剩余空间未填充。
- 如果出错,则返回 -1,并设置errno。
阅读全文