QT 网络编程问题 希望大家帮我解答 先谢谢了
问题是这样的:我装的是Ubuntu系统,
编了一个QT程序:
程序如下:
main.cpp
#include <QApplication>
#include "cmysock.h"
#include <QTextCodec>
int main(int argc,char ** argv)
{
QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk"));
QApplication app(argc,argv);
CMySock *as = new CMySock;
return app.exec();
}
cmysock.h
#ifndef CMYSOCK_H
#define CMYSOCK_H
#include <QWidget>
#include <QTcpServer>
class CMySock : public QWidget
{
Q_OBJECT
public:
explicit CMySock(QWidget *parent = 0);
signals:
public slots:
void xx();
private:
QTcpServer *server;
};
#endif // CMYSOCK_H
mysock.cpp
#include "cmysock.h"
#include <QDebug>
#include <QMessageBox>
CMySock::CMySock(QWidget *parent) :
QWidget(parent)
{
server = new QTcpServer(this);
while (!server->isListening() && !server->listen(QHostAddress::Any,8888))
{
QMessageBox::StandardButton ret =QMessageBox::critical(this,tr("回环"),
tr("无法开始测试: %1.").arg(server->errorString()),
QMessageBox::Retry | QMessageBox::Cancel);
if (ret == QMessageBox::Cancel)
return;
}
qDebug()<<tr("创建监听");
connect(server,SIGNAL(newConnection()),this,SLOT(xx()));
}
void CMySock::xx()
{
qDebug()<<tr("有连接");
}
以上是服务器程序,
下面是客户端程序:
#include <QApplication>
#include <QTcpSocket>
int main(int argc,char **argv)
{
QApplication app(argc,argv);
QTcpSocket* mysock = new QTcpSocket;
mysock->connectToHost("IP",8888);
return app.exec();
}
程序贴完了,
问题是?:
别人的机子运行客户端,我的机子运行服务器,我就可以得到别人的连接
我的机子运行客户端,别人的机子运行服务器,我就连接不上别人的。
别人装得是虚拟机,我的装的是Ubuntu系统
两个都是Linux下的Qt
大家帮忙看看。。。。。。 qt 网络 server 服务器 编程 --------------------编程问答-------------------- 谁帮帮我 --------------------编程问答-------------------- 换个端口试试 --------------------编程问答-------------------- 不是端口的问题,端口欢乐好几个,,我咕摸着是虚拟机捣的鬼。。。可是测试时,,没办法,,就看谁以前遇到者问题。。。帮我也解决一哈。。 --------------------编程问答-------------------- 这个应该是和网络有关系吧,你看看你虚拟机里的系统的IP是多少,这个可能能错了 --------------------编程问答-------------------- 手工telnet测试端口能不能连通
看描述因该是iptables什么的过滤了访问 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 错了,,我把Qt换到window下,没有虚拟机,两个都是windows下的,也是 我连不上别人的,别人能连上我的 --------------------编程问答-------------------- 错了,,我把Qt换到window下,没有虚拟机,两个都是windows下的,也是 我连不上别人的,别人能连上我的 --------------------编程问答-------------------- 解决了,虚拟机没有桥接
补充:移动开发 , Qt