linux socket端口bug,linux socket的bug??

#include int sendtime(int fd);

void print_date();

int main()

{

int sockfd;

struct sockaddr_in my_addr;

struct sockaddr_in their_addr;

int newfd;

char buf[10];

int sockaddr_len;

int rt;

if((sockfd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) <= 0) {

perror("Create socket faild!\n");

return -1;

}

bzero(&my_addr, sizeof(struct sockaddr));

my_addr.sin_family = PF_INET;

my_addr.sin_port = htons(5555);

my_addr.sin_addr.s_addr = inet_addr("192.168.0.2");

if(bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))           {

perror("Bind faild!\n");

return -2;

}

if(listen(sockfd,1)                 perror("Listen error!");

}

sockaddr_len = sizeof(struct sockaddr);

while(1) {

newfd = accept(sockfd,(struct sockaddr *)&their_addr, (socklen_t *)&sockaddr_len);

printf("Accept:%s,at ",inet_ntoa(their_addr.sin_addr));

print_date();

if(newfd                         perror("Accept error!\n");

return -3;

}

/*

if(fork() == 0) {

printf("Fork() sucessed\n");

close(sockfd);

sendtime(newfd);

close(newfd);

return 0;

}

*/

if((rt = read(newfd, buf, 7)) != 7) {

perror("Get date error\n");

continue;

}

if(!strcmp(buf,"getdate")) {

sendtime(newfd);

} else {

printf("Wrong commands\n");

}

close(newfd);

}

return 0;

}

int sendtime(int fd)

{

time_t tm;

int rt;

tm=time(NULL);

rt=write(fd, &tm, sizeof(time_t));

if(rt == sizeof(time_t)) {

printf("Send sucessed!\n");

} else {

printf("Send error!\n");

}

return 0;

}

void print_date()

{

time_t tm;

time(&tm);

printf("%s", ctime(&tm));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值