我试图使用QTcpServer的同步连接机制来实现服务器。 我的代码非常简单。 PFB。
//////
MainScreen::MainScreen(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainScreen)
{
ui->setupUi(this);
server = new QTcpServer();
}
int MainScreen::waitForConnection()
{
bool timeOut = 0;
if (server->listen(QHostAddress("192.168.70.30"), 10000))
{
quint16 port = server->serverPort();
qDebug() << "Server : "<< (server->serverAddress()).toString() << "Port : "<< port;
server->waitForNewConnection(-1, &timeOut);
}
return 0;
}
//主
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainScreen w;
w.waitForConnection();
return a.exec();
}
我正在尝试从Linux客户端应用程序(C)连接到服务器。不幸的是,我没有在我的服务器中获得任何连接。我是否需要做其他事情才能进行同步连接?提前致谢
netstat的PFB结果
netstat -np TCP
活动连接
原始本地地址外部地址状态
TCP 127.0.0.1:62908 127.0.0.1:62909 ESTABLISHED
TCP 127.0.0.1:62909 127.0.0.1:62908 ESTABLISHED
TCP 192.168.70.89:62817 10.47.1.10:49224 ESTABLISHED
TCP 192.168.70.89:62924 10.47.1.101:3128 ESTABLISHED
TCP 192.168.70.89:63209 10.47.1.101:3128 TIME_WAIT
TCP 192.168.70.89:63213 10.47.1.101:3128 TIME_WAIT
TCP 192.168.70.89:63264 10.47.1.101:3128 TIME_WAIT
TCP 192.168.70.89:63265 10.47.1.101:3128 TIME_WAIT
TCP 192.168.70.89:63266 10.47.1.11:8014 CLOSE_WAIT
TCP 192.168.70.89:63267 111.221.112.54:995 TIME_WAIT
TCP 127.0.0.1:62908 127.0.0.1:62909 ESTABLISHED
答案 0 :(得分:1)
要检查的一些事项:
添加:您必须使用命令netstat -nap TCP在Windows中运行netstat,以便显示侦听端口。但由于您可以在本地连接到您的网络服务器,然后显示它正在运行。看起来你在windows下运行。如果是这样,你试图禁用窗口的防火墙?如果您正在运行防病毒软件,请尝试禁用它,以防它阻止来自计算机外部的连接。最后,确保机器可以通过ping看到对方。