linux c之解决使用socket函数返回为0的问题

2/22/2017来源:ASP.NET技巧人气:1390

1、问题:

linux 平台下 写socket,实现简单的tcp通信,服务端第一次调用 socket函数返回 0

2、找原因:

我的代码是这样写的

 if ((server_sockfd = socket(AF_INET,SOCK_STREAM, 0) < 0));

特么总是返回0,日了狗

自找方法一:

到网上找为什么socket函数返回0,5分钟过去,没反应

自找方法二:

到网上找linux socket tcp编程

然后得到代码,然后输入终端测试,发现socket返回是3,日了狗,然后再去缩小范围,只执行2行代码,一行实现socket,一行打印结果,依然是3,日了狗,然后再把自己

写的代码也只执行这2行,我插,依然是0,奔溃了,难道socket还受终端影响,不应该啊,然后果断问旁边做服务端开发的,当然也是搞安卓的,然后我让他看的时候,发现代码写错,那个 < 写错位置了,尼玛,3 < 0 否,然后把0给了这个server_sockfd 为0,又因为 0 不小于 0,所以代码往下执行

 if ((server_sockfd = socket(AF_INET,SOCK_STREAM, 0)) < 0);

3、总结

      以后千万不要犯这种傻逼问题,代码要写好。