live555服务器性能,使用Live555 HTTP容量作为信号服务器

在live555中有一个嵌入式HTTP服务器,用于通过HTTP流式传输RTP。

为了实现你的GET实施handleHTTPCmd_StreamingGET,您需要:

超载RTSPServer :: RTSPClientConnection类来实现handleHTTPCmd_StreamingGET

超载RTSPServer类实例化您的超负荷类RTSPServer :: RTSPClientConnection

将所有内容放在一起会给人一种非常简化样品,没有错误处理,如:

#include "BasicUsageEnvironment.hh"

#include "RTSPServer.hh"

class HTTPServer : public RTSPServer {

class HTTPClientConnection : public RTSPServer::RTSPClientConnection {

public:

HTTPClientConnection(RTSPServer& ourServer, int clientSocket, struct sockaddr_in clientAddr)

: RTSPServer::RTSPClientConnection(ourServer, clientSocket, clientAddr) {}

private:

virtual void handleHTTPCmd_StreamingGET(char const* urlSuffix, char const* fullRequestStr) {

// build HTTP answer

snprintf((char*)fResponseBuffer, sizeof fResponseBuffer,

"HTTP/1.1 200 OK\r\n"

"Content-Length: %zd\r\n"

"\r\n"

"%s",

strlen(fullRequestStr),fullRequestStr);

}

};

public:

static HTTPServer* createNew(UsageEnvironment& env, Port rtspPort) {

return new HTTPServer(env, setUpOurSocket(env, rtspPort), rtspPort);

}

HTTPServer(UsageEnvironment& env, int ourSocket, Port rtspPort)

: RTSPServer(env, ourSocket, rtspPort, NULL, 0) {}

RTSPServer::RTSPClientConnection* createNewClientConnection(int clientSocket, struct sockaddr_in clientAddr) {

return new HTTPClientConnection(*this, clientSocket, clientAddr);

}

};

这HttpServer的实施答案所收到的HTTP请求,喜欢的东西:

GET/HTTP/1.1

Host: 127.0.0.1:9999

User-Agent: curl/7.54.0

Accept: */*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值