X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=rdpsrv.cpp;fp=rdpsrv.cpp;h=0000000000000000000000000000000000000000;hb=46f3372353ccdd654ef45f0b73128c16fb057e58;hp=ea4892fdea16e4760d026f86ea98db33172ff102;hpb=c905997e6c6ba2ab3fa6ed2cc5bad78d254e8104;p=rdpsrv diff --git a/rdpsrv.cpp b/rdpsrv.cpp deleted file mode 100644 index ea4892f..0000000 --- a/rdpsrv.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -static const int RDP_PORT = 3389; -int create_server_socket(); - -int main() -{ - int server_sock = create_server_socket(); - for ( ;; ) { - sockaddr_in sin; - socklen_t len; - int sock = accept(server_sock, (sockaddr *)&sin, &len); - - if (sock == -1) { - perror("accept()"); - exit(1); - } - - printf("Got socket.\n"); - - close(sock); - } -} - -int create_server_socket() -{ - int server_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - const unsigned int one = 1, zero = 0; - struct sockaddr_in addr; - int err; - - setsockopt(server_sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)); - ioctl(server_sock, FIONBIO, &zero); - - addr.sin_family = AF_INET; - addr.sin_addr.s_addr = INADDR_ANY; - addr.sin_port = htons(RDP_PORT); - - do { - err = bind(server_sock, (struct sockaddr *)&addr, sizeof(struct sockaddr)); - - if (err == -1) { - perror("bind()"); - - /* try to recover from recoverable errors... */ - if (errno == ENOMEM || errno == EADDRINUSE) { - puts("Waiting 1 sec before trying again..."); - sleep(1); - } else { - puts("Giving up."); - exit(1); - } - } - } while (err == -1); - - listen(server_sock, 20); - return server_sock; -} -