linux c之解决使用socket函数返回为0的问题
生活随笔
收集整理的這篇文章主要介紹了
linux c之解决使用socket函数返回为0的问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、問題:
在 linux 平臺下 寫socket,實現(xiàn)簡單的tcp通信,服務(wù)端第一次調(diào)用 socket函數(shù)返回 0
?
2、找原因:
我的代碼是這樣寫的
?
if ((server_sockfd = socket(AF_INET,SOCK_STREAM, 0) < 0));?
特么總是返回0,日了狗
?
自找方法一:
到網(wǎng)上找為什么socket函數(shù)返回0,5分鐘過去,沒反應(yīng)
?
自找方法二:
到網(wǎng)上找linux socket tcp編程
然后得到代碼,然后輸入終端測試,發(fā)現(xiàn)socket返回是3,日了狗,然后再去縮小范圍,只執(zhí)行2行代碼,一行實現(xiàn)socket,一行打印結(jié)果,依然是3,日了狗,然后再把自己
寫的代碼也只執(zhí)行這2行,我插,依然是0,奔潰了,難道socket還受終端影響,不應(yīng)該啊,然后果斷問旁邊做服務(wù)端開發(fā)的,當(dāng)然也是搞安卓的,然后我讓他看的時候,發(fā)現(xiàn)代碼寫錯,那個 < 寫錯位置了,尼瑪,3 < 0 否,然后把0給了這個server_sockfd 為0,又因為 0 不小于 0,所以代碼往下執(zhí)行
?
?
if ((server_sockfd = socket(AF_INET,SOCK_STREAM, 0)) < 0);?
?
?
3、總結(jié)
????? 以后千萬不要犯這種傻逼問題,代碼要寫好。
?
?
總結(jié)
以上是生活随笔為你收集整理的linux c之解决使用socket函数返回为0的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux c之perror和exit使
- 下一篇: linux c之使用共享内存实现进程间通