int server_socket_init(const char *ip_addr, \ int port, size_t timeout){ struct sockaddr_in server_t; int flag=0; do{ sockfd=sockfd_create(ip_addr,port,\ &server_t,timeout); if(sockfd<0){ flag=1; break; } if(-1==bind(sockfd, (struct sockaddr *) &ip_addr,\ sizeof(struct sockaddr_in))){ close(sockfd); flag=1; break; } if(-1==listen(sockfd, BACKLOG)){ close(sockfd); flag=1; break; } }while(0); if(flag == 1){ return -1; } return sockfd; }
int client_socket_init(const char *ip_addr, \ int port, size_t timeout){ struct sockaddr_in server_t; sockfd=sockfd_create(ip_addr,port,&server_t,timeout); if(-1==connect(sockfd,&server_t,sizeof(server_t))){ return -1; } set_nonblocking(sockfd); //enable nonblocking! }
static void msg_send(char *addr, int port, const char *msg, const char *topic, const char *mod) { int fd; char *json; fd = sockfd_create(addr, port); json = msg_create(msg, topic, mod); write(fd, json, strlen(json)); msg_destory(json); sockfd_close(fd); }