#include <stdio.h>
#include <sys/types.h> /* See NOTES */
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <string.h>
/* TCP服务器 */
int main(){
//1>建立socket连接
int sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0){
perror("socket");
return -1;
}
printf("sockfd:%d\n",sockfd);
//2>绑定IP和端口号*************!
struct sockaddr_in server;//声明结构体,并即将给里面成员赋值
server.sin_family=AF_INET;//表示使用IPv4地址协议
server.sin_port=htons(54321);//端口号 将12345转化为大端序
server.sin_addr.s_addr=inet_addr("192.168.60.5");//IP赋值
if(bind(sockfd,(struct sockaddr *)&server,sizeof(server))){
perror("bind");
return -1;
}
//3>监听--->服务器的保护机制
listen(sockfd,8);//当前这个服务器,同一时刻连接客户端的最大值为8;
//4>等待客户端连接
struct sockaddr_in client;//用来保存客户端的IP和端口号
int len=sizeof(client);//客户的地址的长度
int fd;
fd=accept(sockfd,(struct sockaddr *)&client,&len);
if(fd<0){
perror("accept");
return -1;
}
printf("客户%d上线了\n",fd);
//5>收
char buf[50];
while(1){
bzero(buf,sizeof(buf));
recv(fd,buf,sizeof(buf),0);
printf("%s\n",buf);
}
return 0;
}