#include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #define PORT 17951 /************************** *练习socket bind listen accept * *********************/ int main (void) { int sockfd; int newsockfd; struct sockaddr_in addr; unsigned int addr_len = sizeof(struct sockaddr_in); if ( (sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 ) { perror("socket created error!\n"); return 1; }else { printf("socket created successfully!\n"); printf("sockfd is %d",sockfd); } addr.sin_family = AF_INET; addr.sin_port = htons(PORT); addr.sin_addr.s_addr = htonl(INADDR_ANY); /*绑定IP地址于socket*/ if ( bind(sockfd, (struct sockaddr *)(&addr), sizeof(struct sockaddr)) ) { perror("bind error!\n"); return 1; }else { printf("bind port successfully!\n"); printf("local port is %d!\n", PORT); } /*调用listen监听*/ if ( listen(sockfd,5) < 0) { perror("listen error"); return 1; }else { printf("listening.....\n"); } /*调用accept函数接受一个请求*/ if ( (newsockfd = accept(sockfd,(struct sockaddr*)(&addr),&addr_len)) < 0 ) { perror("accept error"); return 1; }else { printf("accepted a new connection.\n"); printf("new socket fd is %d", newsockfd); } return 0; }
Unix Socket 编程
猜你喜欢
转载自yesmeshtu2008-163-com.iteye.com/blog/1154102
今日推荐
周排行