Открытие порта для прослушивания

У меня есть небольшая программа, которую я создал. Вот соответствующий фрагмент:

void TcpSocket::ConnectSocket()
{
    socket = new QTcpSocket(this);
    socket->connectToHost("localhost", 77);

    if(socket->waitForConnected(3000)){
        qDebug() << "Connected";

        socket->write("Hello Server\n\r\n");
        socket->waitForBytesWritten(1000);
        socket->waitForReadyRead(3000);
        qDebug() << "Reading: " << socket->bytesAvailable();
        qDebug() << socket->readAll();
        socket->close();
    }
    else {
        qDebug() << "Could not connect";
    }
}

В принципе, я хочу открыть tcp-сокет на localhost: 77. Я хочу написать некоторые данные, получить ответ, а затем вывести ответ. Однако сейчас, когда порт закрыт, по умолчанию большинство портов находятся в ubuntu. Поэтому прямо сейчас он не может подключиться к этому порту для прослушивания. Ну, из того, что я исследовал, iptables, кажется, единственный способ открыть порт для прослушивания. Поэтому я запускаю эту строку на своей машине:

sudo iptables -A INPUT -p tcp --dport 77 -j ACCEPT

Однако порт 77 все еще не открыт.

sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1199/dnsmasq    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1004/cupsd      
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1157/postgres   
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1121/mysqld     
tcp6       0      0 ::1:631                 :::*                    LISTEN      1004/cupsd      
udp        0      0 127.0.0.1:53            0.0.0.0:*                           1199/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1070/dhclient   
udp        0      0 0.0.0.0:39617           0.0.0.0:*                           990/avahi-daemon: r
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           990/avahi-daemon: r
udp6       0      0 :::57021                :::*                                990/avahi-daemon: r
udp6       0      0 :::5353                 :::*                                990/avahi-daemon: r

netstat не показывает, что он открыт. Также у меня есть такая же проблема с моей программой: она не может подключиться к 77.

1
задан 30 May 2013 в 07:07

1 ответ

Если вы используете authbind для запуска tomcats, нам не нужны iptables или какие-либо программы для перенаправления, надеюсь, что эта ссылка будет полной.

https://askubuntu.com/a/685306/377678 [ ! d1]

0
ответ дан 24 May 2018 в 21:38

Другие вопросы по тегам:

Похожие вопросы: