网站制作学习网Linux→正文:bind error Socket operation on non-socket
字体:

bind error Socket operation on non-socket

Linux 2012/8/28 18:45:57  点击:不统计


在写一个linux下c的server的套接字中遇到了bind error!: Socket operation on non-socket的错误
看了看代码,看起来都是正确的
....
  if((sockfd = socket(AF_INET,SOCK_STREAM,0))== -1){
      perror("socket creat failed!");
      exit(1);
  }
  printf("%d\n",sockfd);
 //bind port
 my_addr.sin_family = AF_INET;
 my_addr.sin_port   = htonl(SERVPORT);
 my_addr.sin_addr.s_addr = INADDR_ANY;
 bzero(&(my_addr.sin_zero),8);
 if(bind(sockfd,(struct sockaddr*)&my_addr,sizeof(struct sockaddr)== -1)){
   perror("bind error!");
   exit(1);
 }
.....
后来查了一下网络同学们的信息看到了我的错误
在  if(bind(sockfd,(struct sockaddr*)&my_addr,sizeof(struct sockaddr)== -1)){句中
有两个操作,一个是bend 一个是 ==的判断
我写的时候将 ==的判断加入到了bind中,所以出现了 Socket operation on non-socket
的错误。
更改为 if(bind(sockfd,(struct sockaddr*)&my_addr,sizeof(struct sockaddr))== -1)
在其他人的错误中还有一种 == 和 =的两个操作,一定要将优先级分开。
或者在多步操作中进行分步操作,避免优先级和疏忽的错误。
bind error Socket operation on non-socket的错误,完美解决吧。
转www.载for网站制作学习asp必.cn究

·上一篇:linux安装lua >>    ·下一篇:linux c查看磁盘剩余 >>
推荐文章
最新文章