[请教]关于建立socket的有关问题

[请问]关于建立socket的问题
我没有怎么学过网络编程的基础知识,但是我急着用解决下面的问题带来的结论,谢谢

请问
如果我建立的是
socket(AF_INET,   SOCK_STREAM,   IPPROTO_IP)
或者socket(AF_INET,   SOCK_DGRAM,   IPPROTO_IP)
或者socket(AF_INET,   SOCK_STREAM,   IPPROTO_TCP)
能通过这个socket收到ICMP数据吗

------解决方案--------------------
socket(AF_INET, SOCK_DGRAM, IPPROTO_IP)
这个,。