Exemplo n.º 1
0
_enResult CTcpServerSocket::ResetFd()
{
	int32 i32Flag = 1;

    //关闭现有的FD
    CloseFd();
 
    //生产新的FD
    SOCK_OPEN(m_streamFd, AF_INET, SOCK_STREAM, IPPROTO_TCP);

    //设置属性
    setsockopt(m_streamFd, SOL_SOCKET, SO_REUSEADDR, &i32Flag, sizeof(i32Flag));
    
    if(m_strLocalAddr.length() == 0)
    {        
        SetLocalPort(m_u16LocalPort);
    }
    else
    {
        SetLocalAddrAndPort(m_strLocalAddr, m_u16LocalPort);
    }

    //侦听
    Listen(m_u32QueueLen);
}
Exemplo n.º 2
0
CUdpSocket::CUdpSocket(uint16 u16LocalPort)
    : CCommunicatingSocket(SOCK_DGRAM, IPPROTO_UDP)
{
    m_strLocalAddr = "";
    m_u16LocalPort = u16LocalPort;

    SetLocalPort(u16LocalPort);
    SetBroadcast();
}
Exemplo n.º 3
0
//CTcpServerSocket
CTcpServerSocket::CTcpServerSocket(uint16 u16LocalPort, uint32 u32QueueLen) 
    : CSocket(SOCK_STREAM, IPPROTO_TCP) 
{
    m_strLocalAddr = "";
    m_u16LocalPort = u16LocalPort;
    m_u32QueueLen = u32QueueLen;
    
    SetLocalPort(u16LocalPort);
    Listen(u32QueueLen);
}
Exemplo n.º 4
0
int ReadConfigurationFile(int fd)
{
 static int first_time=1;
 char *errmsg;

 if(first_time)
   {
    errmsg=ReadConfigFile(1);

    if(errmsg)
      {
       if(fd!=-1)
          write_string(fd,errmsg);
       free(errmsg);

       return(1);
      }

    SetLocalPort(ConfigInteger(HTTP_Port));

    first_time=0;
   }

 errmsg=ReadConfigFile(0);

 if(errmsg)
   {
    if(fd!=-1)
       write_string(fd,errmsg);
    free(errmsg);

    return(1);
   }

 SyslogLevel=ConfigInteger(LogLevel);

 SetDNSTimeout(ConfigInteger(DNSTimeout));
 SetConnectTimeout(ConfigInteger(ConnectTimeout));

 return(0);
}
Exemplo n.º 5
0
_enResult CUdpSocket::ResetFd()
{
	int32 i32Flag = 1;

    //关闭现有的FD
    CloseFd();

    //生产新的FD
    SOCK_OPEN(m_streamFd, AF_INET, SOCK_DGRAM, IPPROTO_UDP);

    //设置属性
    setsockopt(m_streamFd, SOL_SOCKET, SO_REUSEADDR, &i32Flag, sizeof(i32Flag));
    
    if((m_strLocalAddr.length() != 0) && (m_u16LocalPort != 0))
    {        
        SetLocalAddrAndPort(m_strLocalAddr, m_u16LocalPort);
    }
    else if(m_u16LocalPort != 0)
    {
        SetLocalPort(m_u16LocalPort);
    }    
    SetBroadcast();
}