我有一个 UDP 服务器实现,我在recvfrom
调用时遇到分段错误。
#define SIZEOF sizeof
#define PKTSIZE 65535
char tmp_buf[PKTSIZE];
struct sockaddr_storage tmp_from;
int tmp_fromlen = 0;
int tmp_bytes;
tmp_bytes = truncate_size_t_to_int(recvfrom(fd, tmp_buf,
SIZEOF(tmp_buf), 0,
(struct sockaddr *) &tmp_from,
(socklen_t *) &tmp_fromlen));
在此之前绑定和连接都是成功的。这是一个单线程进程。recvfrom
这个电话有什么问题。我需要做SIGALRM
信号处理recvfrom
吗?truncate_size_t_to_int 用于将 size_t 转换为 int。