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

  • Post author:
  • Post category:linux


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、总结

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



版权声明:本文为cqn2bd2b原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。