mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	fix bug, use system utility
This commit is contained in:
		
							parent
							
								
									69cc01b696
								
							
						
					
					
						commit
						20fcfb3eee
					
				
					 8 changed files with 41 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -273,8 +273,8 @@ int SrsDynamicHttpConn::connect()
 | 
			
		|||
    }
 | 
			
		||||
    
 | 
			
		||||
    // connect host.
 | 
			
		||||
    if ((ret = srs_socket_connect(req->host, ::atoi(req->port.c_str()), ST_UTIME_NO_TIMEOUT, &stfd)) != ERROR_SUCCESS) {
 | 
			
		||||
        srs_error("mpegts: connect server %s:%s failed. ret=%d", req->host.c_str(), req->port.c_str(), ret);
 | 
			
		||||
    if ((ret = srs_socket_connect(req->host, req->port, ST_UTIME_NO_TIMEOUT, &stfd)) != ERROR_SUCCESS) {
 | 
			
		||||
        srs_error("mpegts: connect server %s:%d failed. ret=%d", req->host.c_str(), req->port, ret);
 | 
			
		||||
        return ret;
 | 
			
		||||
    }
 | 
			
		||||
    io = new SrsStSocket(stfd);
 | 
			
		||||
| 
						 | 
				
			
			@ -308,7 +308,7 @@ int SrsDynamicHttpConn::connect()
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// TODO: FIXME: refine the connect_app.
 | 
			
		||||
int SrsDynamicHttpConn::connect_app(string ep_server, string ep_port)
 | 
			
		||||
int SrsDynamicHttpConn::connect_app(string ep_server, int ep_port)
 | 
			
		||||
{
 | 
			
		||||
    int ret = ERROR_SUCCESS;
 | 
			
		||||
    
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -104,7 +104,7 @@ private:
 | 
			
		|||
    // connect to rtmp output url.
 | 
			
		||||
    // @remark ignore when not connected, reconnect when disconnected.
 | 
			
		||||
    virtual int connect();
 | 
			
		||||
    virtual int connect_app(std::string ep_server, std::string ep_port);
 | 
			
		||||
    virtual int connect_app(std::string ep_server, int ep_port);
 | 
			
		||||
    // close the connected io and rtmp to ready to be re-connect.
 | 
			
		||||
    virtual void close();
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -616,8 +616,8 @@ int SrsMpegtsOverUdp::connect()
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    // connect host.
 | 
			
		||||
    if ((ret = srs_socket_connect(req->host, ::atoi(req->port.c_str()), ST_UTIME_NO_TIMEOUT, &stfd)) != ERROR_SUCCESS) {
 | 
			
		||||
        srs_error("mpegts: connect server %s:%s failed. ret=%d", req->host.c_str(), req->port.c_str(), ret);
 | 
			
		||||
    if ((ret = srs_socket_connect(req->host, req->port, ST_UTIME_NO_TIMEOUT, &stfd)) != ERROR_SUCCESS) {
 | 
			
		||||
        srs_error("mpegts: connect server %s:%d failed. ret=%d", req->host.c_str(), req->port, ret);
 | 
			
		||||
        return ret;
 | 
			
		||||
    }
 | 
			
		||||
    io = new SrsStSocket(stfd);
 | 
			
		||||
| 
						 | 
				
			
			@ -651,7 +651,7 @@ int SrsMpegtsOverUdp::connect()
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// TODO: FIXME: refine the connect_app.
 | 
			
		||||
int SrsMpegtsOverUdp::connect_app(string ep_server, string ep_port)
 | 
			
		||||
int SrsMpegtsOverUdp::connect_app(string ep_server, int ep_port)
 | 
			
		||||
{
 | 
			
		||||
    int ret = ERROR_SUCCESS;
 | 
			
		||||
    
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -126,7 +126,7 @@ private:
 | 
			
		|||
    // connect to rtmp output url. 
 | 
			
		||||
    // @remark ignore when not connected, reconnect when disconnected.
 | 
			
		||||
    virtual int connect();
 | 
			
		||||
    virtual int connect_app(std::string ep_server, std::string ep_port);
 | 
			
		||||
    virtual int connect_app(std::string ep_server, int ep_port);
 | 
			
		||||
    // close the connected io and rtmp to ready to be re-connect.
 | 
			
		||||
    virtual void close();
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -648,7 +648,8 @@ int SrsRtspConn::connect()
 | 
			
		|||
    
 | 
			
		||||
    // parse uri
 | 
			
		||||
    if (!req) {
 | 
			
		||||
        std::string schema, host, vhost, app, port, param;
 | 
			
		||||
        std::string schema, host, vhost, app, param;
 | 
			
		||||
        int port;
 | 
			
		||||
        srs_discovery_tc_url(rtsp_tcUrl, schema, host, vhost, app, port, param);
 | 
			
		||||
 | 
			
		||||
        // generate output by template.
 | 
			
		||||
| 
						 | 
				
			
			@ -662,8 +663,8 @@ int SrsRtspConn::connect()
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    // connect host.
 | 
			
		||||
    if ((ret = srs_socket_connect(req->host, ::atoi(req->port.c_str()), ST_UTIME_NO_TIMEOUT, &stfd)) != ERROR_SUCCESS) {
 | 
			
		||||
        srs_error("rtsp: connect server %s:%s failed. ret=%d", req->host.c_str(), req->port.c_str(), ret);
 | 
			
		||||
    if ((ret = srs_socket_connect(req->host, req->port, ST_UTIME_NO_TIMEOUT, &stfd)) != ERROR_SUCCESS) {
 | 
			
		||||
        srs_error("rtsp: connect server %s:%d failed. ret=%d", req->host.c_str(), req->port, ret);
 | 
			
		||||
        return ret;
 | 
			
		||||
    }
 | 
			
		||||
    io = new SrsStSocket(stfd);
 | 
			
		||||
| 
						 | 
				
			
			@ -697,7 +698,7 @@ int SrsRtspConn::connect()
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// TODO: FIXME: refine the connect_app.
 | 
			
		||||
int SrsRtspConn::connect_app(string ep_server, string ep_port)
 | 
			
		||||
int SrsRtspConn::connect_app(string ep_server, int ep_port)
 | 
			
		||||
{
 | 
			
		||||
    int ret = ERROR_SUCCESS;
 | 
			
		||||
    
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -181,7 +181,7 @@ private:
 | 
			
		|||
    // connect to rtmp output url. 
 | 
			
		||||
    // @remark ignore when not connected, reconnect when disconnected.
 | 
			
		||||
    virtual int connect();
 | 
			
		||||
    virtual int connect_app(std::string ep_server, std::string ep_port);
 | 
			
		||||
    virtual int connect_app(std::string ep_server, int ep_port);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		|||
 | 
			
		||||
#include <srs_app_st.hpp>
 | 
			
		||||
 | 
			
		||||
#include <string>
 | 
			
		||||
using namespace std;
 | 
			
		||||
 | 
			
		||||
#include <srs_kernel_error.hpp>
 | 
			
		||||
#include <srs_kernel_log.hpp>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -406,6 +409,20 @@ int SrsStSocket::writev(const iovec *iov, int iov_size, ssize_t* nwrite)
 | 
			
		|||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SrsTcpClient::SrsTcpClient()
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SrsTcpClient::~SrsTcpClient()
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int SrsTcpClient::connect(string host, int port, int64_t timeout)
 | 
			
		||||
{
 | 
			
		||||
    int ret = ERROR_SUCCESS;
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef __linux__
 | 
			
		||||
#include <sys/epoll.h>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,6 +30,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		|||
 | 
			
		||||
#include <srs_core.hpp>
 | 
			
		||||
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
#include <st.h>
 | 
			
		||||
 | 
			
		||||
#include <srs_app_st.hpp>
 | 
			
		||||
| 
						 | 
				
			
			@ -211,6 +213,14 @@ class SrsTcpClient
 | 
			
		|||
public:
 | 
			
		||||
    SrsTcpClient();
 | 
			
		||||
    virtual ~SrsTcpClient();
 | 
			
		||||
public:
 | 
			
		||||
    /**
 | 
			
		||||
     * connect to server over TCP.
 | 
			
		||||
     * @param host the ip or hostname of server.
 | 
			
		||||
     * @param port the port to connect to.
 | 
			
		||||
     * @param timeout the timeout in us.
 | 
			
		||||
     */
 | 
			
		||||
    virtual int connect(std::string host, int port, int64_t timeout);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// initialize st, requires epoll.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue