test03.c 689 B

1234567891011121314151617181920212223242526272829
  1. #include "unpxti.h"
  2. int
  3. main(int argc, char **argv)
  4. {
  5. int listenfd, connfd, n, flags;
  6. char buff[MAXLINE];
  7. struct pollfd fds[1];
  8. if (argc == 2)
  9. listenfd = Tcp_listen(NULL, argv[1], NULL);
  10. else if (argc == 3)
  11. listenfd = Tcp_listen(argv[1], argv[2], NULL);
  12. else
  13. err_quit("usage: daytimetcpsrv01 [ <host> ] <service or port>");
  14. connfd = Xti_accept(listenfd, NULL, 0);
  15. fds[0].fd = connfd;
  16. fds[0].events = POLLIN | POLLRDNORM | POLLRDBAND | POLLPRI;
  17. for ( ; ; ) {
  18. n = poll(fds, 1, INFTIM);
  19. printf("poll returned %d, revents = 0x%x\n", n, fds[0].revents);
  20. n = T_rcv(connfd, buff, sizeof(buff), &flags);
  21. printf("received %d bytes, flags = %d\n", n, flags);
  22. }
  23. }