日期:2014-05-16  浏览次数:20728 次

在linux下,我的socket为什么小于零?
int sock;
sock=socket(AF_INET,SOCK_STREAM,0);
结果sock小于零
我做linux下的UDP通讯,结果连创建套接字都不对,让我郁闷,请各位帮帮忙,谢谢

------解决方案--------------------
C/C++ code

int sock; 
socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

------解决方案--------------------
UDP 不能用SOCK_STREAM 用SOCK_DGRAM 第3个参数是协议,一般第二个参数为SOCK_DGRAM后,填0就默认为udp协议了
------解决方案--------------------
socket小于0不一定不对,其错误返回是-1,不是小于0
UDP应该通讯第二个参数应该是SOCK_DGRAM