第3章基本TCP套接口编程答辩.ppt

* * * * * * * * 客户发送数据分节,阻塞于recv调用,等待接收数据。重传?放弃重传?返回错误信息提示。 也可以采用套接字的一个选项SO_KEEPALIVE来实现:客户端不用主动向服务器发送数据时,也能检测出服务器主机是否崩溃。 * * #include sys/types.h #include sys/socket.h ssize_t recv(int fd, void *buf ,size_t len, int flags); 返回:大于0表示成功接收的数据长度;0: 对方已关闭,-1:出错。 flags是传输控制标志,其值定义如下: 0:常规操作,如同read()函数; MSG_PEEK:只查看数据而不读出数据,后续读操作仍然能读出所查看的该数据; MSG_OOB:忽略常规数据,而只读带外数据; MSG_WAITALL:recv函数只有在将接收缓冲区填满(也就是len的值)后才返回。 MSG_DONTWAIT:将单个I/O操作设为非阻塞模式,执行I/O操作,然后关闭非阻塞标志。 数据传输函数-recv 功能:派生新进程 create new process 定义: #include sys/unistd.h pid_t fork (void); 在子进程中返回0,在父进程中返回子进程的进程ID 出错时返回 –1,调用一次返回两次 fo

文档评论(0)

1亿VIP精品文档

相关文档