bind error :怎么会有这样的错误呢

ljslucky 2013-03-13 06:20:31
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>

#define portnumber 3333

int main(int argc,char *argv[])
{
int sockfd,new_fd;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
int sin_size;
int nbytes;
char buffer[1024];

if((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1)
{
fprintf(stderr,"Socket error:%s\n\a",strerror(errno));
exit(1);
}

printf("it is successed to biult socket\n");

bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family=AF_INET;
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
// server_addr.sinaddr.s_addr=inet_addr(192.168.80.129);
server_addr.sin_port=htons(portnumber);

if(bind(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr)) == -1);
{
fprintf(stderr,"bind error:%s\n\a",strerror(errno));
exit(1);
}

if(listen(sockfd,5) == -1)
{
fprintf(stderr,"listen error:%s\n\a",strerror(errno));
exit(1);
}

while(1)
{
sin_size = sizeof(struct sockaddr_in);
if((new_fd = accept(sockfd,(struct sockaddr*)(&client_addr),&sin_size)) == -1)
{
fprintf(stderr,"accept error:%s\n\a",strerror(errno));
exit(1);
}
fprintf(stderr,"server get connection from %s\n",inet_ntoa(client_addr.sin_addr));
if((nbytes = read(new_fd,buffer,1024)) == -1)
{
fprintf(stderr,"read error:%s\n\a",strerror(errno));
exit(1);
}
buffer[nbytes] = "\0";
printf("server received %s\n",buffer);
close(new_fd);

}
}




...全文
700 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
justkk 2013-03-14
  • 打赏
  • 举报
回复 1
if(bind(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr)) == -1); 删除最后面的分号,分号,号 ..
ljslucky 2013-03-13
  • 打赏
  • 举报
回复
是我的网络的问题吗?不是没有设置好IP地址??
ljslucky 2013-03-13
  • 打赏
  • 举报
回复
我运行了以后就出现了下面的错误:bind 没有成功呀!不知道是怎么回事呀,该怎么呢? it is successed to biult socket bind error:Success

2,161

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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