TCP循环服务器 代码tcpser

#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 PORT  1234
int main()
{
int sockfd, newfd;
struct sockaddr_in  serv_addr;
struct sockaddr_in  cli_addr;
char buf[1024];
int len;
int new_size;


//1.socket
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("sock error!\n");
exit(1);
}
//2.bind
bzero(&serv_addr,sizeof(struct sockaddr_in)); // 初始化,置0
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr("192.168.1.229");
serv_addr.sin_port = htons(PORT);


if((bind(sockfd,(struct sockaddr *)&serv_addr, sizeof(struct sockaddr)))== -1)
{
printf("bind error!\n");
exit(1);
}
//3.lisetn
if((listen(sockfd, 5)) == -1)
{
printf("listrn error!\n");
exit(1);
}
//4.accept
while(1)
{
new_size = sizeof(struct sockaddr);
if((newfd = accept(sockfd,(struct sockaddr *)&cli_addr, &new_size )) == -1)
{
printf("accept error!\n");
exit(1);
}
//5.read
len = read(newfd, buf,1024);
if(len < 0)
{

printf("read error!\n");
exit(1);
}
buf[len] = '\0';
printf("serv recv is : %s\n", buf);
//6.close
close(newfd);
}
close(sockfd);
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值