发布时间:2014-11-03 15:45:14
在UDP套接字上调用connect是一个完全的本地操作,并不给对端主机发送任何信息,只是保存对端的IP地址和端口号,并且同时也将给出了本端的IP地址和端口。点击(此处)折叠或打开#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sy.........【阅读全文】
发布时间:2014-11-03 14:37:19
在回显程序中,如果服务器进程没有运行,当我们在客户端键入一行文本时,那么什么也不会发生。客户永远阻塞于它的recvfrom调用,等待一个永远不会出现的服务器应答。抓包查看此时服务器和客户端的交互,可以发现在arp交互以后,服务器向客户端发送了一个ICMP端口不可到达的报文,不过这个报文不返回给客户进程。ICMP端口.........【阅读全文】
发布时间:2014-11-03 11:14:02
对于udp而言,recvfrom只返回发送报文的源地址,但是无法知道发送报文的目的地址和收到报文的接口是哪一个?为了完成这个目的,可以通过setsockopt设置IP_PKTINFO,并使用recvmsg的控制信息来实现。如果支持IP_RECVDSTADDR和IP_RECVIF的话,也可以使用IP_RECVDSTADDR和IP_RECVIF来实现。size_t recvmsg(int sockfd, stru.........【阅读全文】