• 大小: 3.99MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-19
  • 语言: 其他
  • 标签: websocket  rtsp  

资源简介

实现了websocket rtsp proxy服务器,并附属了一个Nginx的Windows版本。可以直接用来替换streamdian的服务器。

资源截图

代码片段和文件信息

//#include “cmnvrs.h“
#include “network.h“
#include “ws_proxy.h“
//#include “logDef.h“

extern QUEUE wsp_queue;
extern uv_loop_t *loop;
extern struct sockaddr_in local_addr;
extern struct sockaddr_in remote_addr;

static void wspUsage(char *progName)
{
  fprintf(stderr “Usage: %s [option]...\n“
          “Create a rtsp/sip protocol websocket proxy server.\n\n“
          “  -l       log level->{1:CRIT 2:EROR 3:WRAN 4:INFO 5:DBUG}\n“
          “  -m       websocket proxy server port\n“
          “  -r       websocket server remote ip address\n“
          “  -p       websocket server remote ip port\n“
          “  -s       rtsp proxy server sub thread numbers\n“
          “  -h       output help\n\n“
          “samples:\n“
          “  %s -m 8808 -r 127.0.0.1 -p 554 -s 8 -l 4 \n\n\n“
          “press any key to exit!\n“
          progName progName);

  if(getchar()) {
    exit(1);
  }
}

int main(int argc char **argv)

  int j = 0;
  char *name = NULL;
  int subThreads = 0;
  int verbosityLevel = 5;// LOG_LEVEL_INFO;
  unsigned short localPort = 8808;
  unsigned short remotePort = 554;
  char remoteIp[20] = { “127.0.0.1“ };

  for(j = 0; j < argc; j++) {
    fprintf(stderr “%s “ argv[j]);
  }
  fprintf(stderr “\n\n“);
  name = strrchr(argv[0] ‘\\‘);
  if(name) {
    name++;
  } else {
    name = strrchr(argv[0] ‘/‘);
    if(name) {
      name++;
    } else {
      name = argv[0];
    }
  }

  while(argc > 1) {
    // Process initial command-line options (beginning with “-“):
    char *const opt = argv[1];

    if(opt[0] != ‘-‘) {
      break;
    }

    switch(opt[1]) {
      case ‘m‘: {
        if(argc < 3) { wspUsage(name); }

        sscanf(argv[2] “%u“ &localPort);
        ++argv;
        --argc;
        break;
      }

      case ‘r‘: {
        if(argc < 3) { wspUsage(name); }

        sscanf(argv[2] “%s“ remoteIp);
        ++argv;
        --argc;
        break;
      }

      case ‘p‘: {
        if(argc < 3) { wspUsage(name); }

        sscanf(argv[2] “%u“ &remotePort);
        ++argv;
        --argc;
        break;
      }

      case ‘s‘: {
        if(argc < 3) { wspUsage(name); }

        sscanf(argv[2] “%d“ &subThreads);
        ++argv;
        --argc;
        break;
      }

      case ‘l‘: {
        if(argc < 3) { wspUsage(name); }

        sscanf(argv[2] “%d“ &verbosityLevel);
        ++argv;
        --argc;
        break;
      }

      default: {
        wspUsage(name);
        break;
      }
    }

    ++argv;
    --argc;
  }

  if(argc > 2) {
    fprintf(stderr “Startup paramerts set error!\n\n“);
    wspUsage(name);
  }
  //startupNetwork();
  //signal(SIGSEGV &C_PrintBacktrace);
  //signal(SIGABRT &C_PrintBacktrace);

#if defined(_MSC_VER) && defined(_DEBUG)
  //C_Log_setLevel(LOG_LEVEL_DBUG);
#else
  //C_Log_createNew(name (IFLY_LogLevel)verbosityLevel 0 THE_MSU_LOG_DIR)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-05-14 12:26  nginx-1.17.9\
     目录           0  2020-05-14 12:19  nginx-1.17.9\conf\
     文件        1103  2020-03-03 23:05  nginx-1.17.9\conf\fastcgi.conf
     文件        1032  2020-03-03 23:05  nginx-1.17.9\conf\fastcgi_params
     文件        2946  2020-03-03 23:05  nginx-1.17.9\conf\koi-utf
     文件        2326  2020-03-03 23:05  nginx-1.17.9\conf\koi-win
     文件        5328  2020-03-03 23:05  nginx-1.17.9\conf\mime.types
     文件        3636  2020-05-14 10:58  nginx-1.17.9\conf\nginx.conf
     文件         653  2020-03-03 23:05  nginx-1.17.9\conf\scgi_params
     文件         681  2020-03-03 23:05  nginx-1.17.9\conf\uwsgi_params
     文件        3736  2020-03-03 23:05  nginx-1.17.9\conf\win-utf
     目录           0  2020-05-14 12:19  nginx-1.17.9\contrib\
     文件         543  2020-03-03 23:04  nginx-1.17.9\contrib\README
     文件        1272  2020-03-03 23:04  nginx-1.17.9\contrib\geo2nginx.pl
     目录           0  2020-05-14 12:19  nginx-1.17.9\contrib\unicode2nginx\
     文件        5991  2020-03-03 23:04  nginx-1.17.9\contrib\unicode2nginx\koi-utf
     文件        1090  2020-03-03 23:04  nginx-1.17.9\contrib\unicode2nginx\unicode-to-nginx.pl
     文件        5339  2020-03-03 23:04  nginx-1.17.9\contrib\unicode2nginx\win-utf
     目录           0  2020-05-14 12:19  nginx-1.17.9\contrib\vim\
     目录           0  2020-05-14 12:19  nginx-1.17.9\contrib\vim\ftdetect\
     文件         198  2020-03-03 23:04  nginx-1.17.9\contrib\vim\ftdetect\nginx.vim
     目录           0  2020-05-14 12:19  nginx-1.17.9\contrib\vim\ftplugin\
     文件          29  2020-03-03 23:04  nginx-1.17.9\contrib\vim\ftplugin\nginx.vim
     目录           0  2020-05-14 12:19  nginx-1.17.9\contrib\vim\indent\
     文件         250  2020-03-03 23:04  nginx-1.17.9\contrib\vim\indent\nginx.vim
     目录           0  2020-05-14 12:19  nginx-1.17.9\contrib\vim\syntax\
     文件      130074  2020-03-03 23:04  nginx-1.17.9\contrib\vim\syntax\nginx.vim
     目录           0  2020-05-14 12:38  nginx-1.17.9\docs\
     目录           0  2020-05-14 12:19  nginx-1.17.9\html\
     文件         494  2020-03-03 23:04  nginx-1.17.9\html\50x.html
     文件        8721  2020-05-14 12:38  nginx-1.17.9\html\index.html
............此处省略531个文件信息

评论

共有 条评论