loop.c
来自「《unix网络编程第二卷》中的源代码」· C语言 代码 · 共 29 行
C
29 行
#include "unp.h"voidloop(int sockfd, socklen_t salen){ char buf[MAXLINE+1]; socklen_t len; ssize_t n; struct sockaddr *sa; struct sap_packet { uint32_t sap_header; uint32_t sap_src; char sap_data[1]; } *sapptr; sa = Malloc(salen); for ( ; ; ) { len = salen; n = Recvfrom(sockfd, buf, MAXLINE, 0, sa, &len); buf[n] = 0; /* null terminate */ sapptr = (struct sap_packet *) buf; if ( (n -= 2 * sizeof(uint32_t)) <= 0) err_quit("n = %d", n); printf("From %s\n%s\n", Sock_ntop(sa, len), sapptr->sap_data); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?