int main(int argc, char **argv) { int port = 2000, val = 1; int ms; struct sockaddr_in msa, csa; bzero(&msa, sizeof(msa)); msa.sin_family = AF_INET; msa.sin_port = htons(port); msa.sin_addr.s_addr = htonl(INADDR_ANY); if ((ms = socket(PF_INET, SOCK_STREAM, 0)) == -1) { printf("socket() error: %s\n", strerror(errno)); return 1; } if ((setsockopt(ms, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val))) == -1) { printf("setsockopt() error: %s\n", strerror(errno)); return 1; } if ((bind(ms, (struct sockaddr*) &msa, sizeof(msa))) == -1) { printf("bind() error: %s\n", strerror(errno)); return 1; } if ((listen(ms, SOMAXCONN)) == -1) { printf("listen() error: %s\n", strerror(errno)); return 1; } if ((accept(ms, (struct sockaddr*) NULL, NULL)) == -1) { printf("accept() error: %s\n", strerror(errno)); return 1; } printf("Connection accepted!\n"); close(ms); return 0; }