Linux下创建socket失败

yuucyf 2014-04-22 03:49:18

return socket(AF_INET, SOCK_STREAM, 0);

初次在linux下进行开发,但是调用以上代码始终返回-1,很奇怪!
使用GDB调试总是返回-1,很奇怪.

大家指点指点呀?没有道理呀!
...全文
1296 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuucyf 2014-04-23
  • 打赏
  • 举报
回复
引用 5 楼 thefirstz 的回复:
把errno打印出来看看 int conn_fd = socket(AF_INET,SOCK_STREAM,0); if ( conn_fd == -1 ) { printf("create socket error...%s\n", strerror(errno)); return conn_fd; }
errno 为 -1. 原来是我的虚拟机的问题. 谢谢大家.
昵称很不好取 2014-04-23
  • 打赏
  • 举报
回复
把errno打印出来看看 int conn_fd = socket(AF_INET,SOCK_STREAM,0); if ( conn_fd == -1 ) { printf("create socket error...%s\n", strerror(errno)); return conn_fd; }
yuucyf 2014-04-23
  • 打赏
  • 举报
回复
奇怪,在main中调用 socket(AF_INET, SOCK_STREAM, 0); 成功, 而在 main 中调用 so中的函数,该函数中有代码 socket(AF_INET, SOCK_STREAM, 0); 则失败? 什么回事呀? Linux不熟还真头疼.
yuucyf 2014-04-23
  • 打赏
  • 举报
回复
引用 1 楼 u012821210 的回复:
这个系统函数返回-1肯定是你前面那一步出错了
前面就一行代码而已,怎么会出错. 在main函数里面第一行就调用。
hw7be 2014-04-22
  • 打赏
  • 举报
回复
第三个参数填IPPROTO_TCP试试
SweetTimeRose 2014-04-22
  • 打赏
  • 举报
回复
这个系统函数返回-1肯定是你前面那一步出错了

23,215

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧