套接字是网络接口的不二选择。学习网络编程,就一定会用到套接字。
服务器端
server.cpp
int main(int argc,char **argv)
{
if(argc!=2)
{
printf("please enter port!");
return 1;
}
int sockfd,clifd;
struct sockaddr_in servaddr,cliaddr;
int port =atoi(argv[1]);
printf("port:%d \n",port);
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(port);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
{
printf("socket error!\n");
return 1;
}
int ret =bind(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
if(ret<0)
{
printf("bind error!\n");
return 1;
}
ret =listen(sockfd,10);
if(ret<0)
{
printf("listen error!\n");
return 1;
}
printf("wait a client to connect ....");
while(1)
{
socklen_t len =sizeof(cliaddr);
clifd = accept(sockfd,(struct sockaddr*)&cliaddr,&len);
}
return 0;
}