一直想写一个RPC,最近用epoll实现了一个简单的TCP服务
int ik_cmd_server(uint16_t port)
{
int listen_fd;
struct epoll_event event;
listen_fd = ik_cmd_tcp_init(port);
if(listen_fd < 0)
{
return -1;
}
g_epollfd = epoll_create(1024);
event.events = EPOLLIN;
event.data.fd = listen_fd;
//add epoll control event
if (epoll_ctl(g_epollfd, EPOLL_CTL_ADD, listen_fd, &event) != 0)
{
printf("epoll_ctl failed for fd %d, errno is %d, strerror is %s\n",
fd, errno, strerror(errno));
return -1;
}
signal(SIGPIPE, SIG_IG