From 5af9fd2674e4f4f601ddf493d0bdeeb5f4b22592 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sun, 7 Nov 2010 22:48:05 +0100 Subject: [PATCH] First version of standalone RTMP connector --- util/ddv_socket.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 util/ddv_socket.cpp diff --git a/util/ddv_socket.cpp b/util/ddv_socket.cpp new file mode 100644 index 00000000..82bf1b7e --- /dev/null +++ b/util/ddv_socket.cpp @@ -0,0 +1,41 @@ +#include +#include +#include +#include +#include +#include +#include + + +int DDV_Listen(int port){ + int s = socket(AF_INET, SOCK_STREAM, 0); + + struct sockaddr_in addr; + addr.sin_family = AF_INET; + addr.sin_port = htons(port);//port 8888 + inet_pton(AF_INET, "0.0.0.0", &addr.sin_addr);//listen on all interfaces + ret = bind(sock, (sockaddr*)&addr, sizeof(addr));//bind to all interfaces, chosen port + if (ret == 0){ + ret = listen(sock, 100);//start listening, backlog of 100 allowed + if (ret == 0){ + return s; + }else{ + printf("Listen failed! Error: %s\n", strerror(errno)); + close(s); + return 0; + } + }else{ + printf("Binding failed! Error: %s\n", strerror(errno)); + close(s); + return 0; + } +} + +int DDV_Accept(int sock){ + int r = accept(sock, 0, 0); + if (r != -1){ + return fdopen(r, "r+"); + }else{ + return -1; + } +}