int main(int argc, char* argv[]) { int listenfd, connfd; struct sockaddr_in addr; char buf[256]; time_t tick; network_init(); listenfd = common_socket(AF_INET, SOCK_STREAM, 0); addr.sin_addr.s_addr = htonl(INADDR_ANY); addr.sin_family = AF_INET; addr.sin_port = htons(5555); common_bind(listenfd, (struct sockaddr*)&addr, sizeof(addr)); common_listen(listenfd, 5); for (;;) { connfd = common_accept(listenfd, NULL, NULL); tick = time(NULL); snprintf(buf, sizeof(buf), "%.24s\r\n", ctime(&tick)); common_write(connfd, buf, strlen(buf)); common_close(connfd); } common_close(listenfd); network_destroy(); return 0; }
int main(int argc, char* argv[]) { int listenfd; int clientfd; struct sockaddr_in addr; socklen_t addrlen; network_init(); listenfd = common_socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); addr.sin_addr.s_addr = htonl(INADDR_ANY); addr.sin_family = AF_INET; addr.sin_port = htons(5555); common_bind(listenfd, (struct sockaddr*)&addr, sizeof(addr)); common_listen(listenfd, SOMAXCONN); printf("echo server start sucess !!!\n"); for (;;) { addrlen = sizeof(addr); clientfd = common_accept(listenfd, (struct sockaddr*)&addr, &addrlen); CreateThread(NULL, 0, echo_process, &clientfd, 0, NULL); } common_close(listenfd); network_destroy(); return 0; }
int main(int argc, char* argv[]) { int sockfd; struct sockaddr_in addr; socklen_t addrlen = sizeof(addr); network_init(); sockfd = common_socket(AF_INET, SOCK_STREAM, 0); addr.sin_addr.s_addr = inet_addr("127.0.0.1"); addr.sin_family = AF_INET; addr.sin_port = htons(5555); common_connect(sockfd, (struct sockaddr*)&addr, addrlen); logical_cli(stdin, sockfd); common_close(sockfd); network_destroy(); return 0; }
int _user_socket(int family, int type, int protocol) { SyscallRestartWrapper<int> result; return result = common_socket(family, type, protocol, false); }
int socket(int family, int type, int protocol) { SyscallFlagUnsetter _; RETURN_AND_SET_ERRNO(common_socket(family, type, protocol, true)); }