導航:首頁 > 配伺服器 > qt中代碼如何連接伺服器

qt中代碼如何連接伺服器

發布時間:2023-04-30 13:55:41

① 如何判斷qt中的connectToHost函數成功連接伺服器

void QSocket::connectToHost ( const QString & host, Q_UINT16 port ) [虛]

試圖連接主機host的指定埠port並且立即返回。
任何連接或者正在進行的連接被立即關閉,並且QSocket進入HostLookup 狀態。當查找成功,它發射hostFound(),開始一個TCP連接並且進入Connecting狀態。最後,當連接成功時,它發射connected()並且進入Connected狀態。如果在任何一個地方出現晌沒錯誤,它發射error()。

host可以是一個字元串形式的IP地址,也可以是一個DNS名稱。如果需要QSocket將會進行一個普通的DNS查找。注意port是本地位元組順序游薯,不像其它庫宴磨納那樣。

② ubuntu linux 下使用Qt連接MySQL資料庫

Linux下完整的MySQL開發需要安裝伺服器端,如果安裝客戶端也沒什麼不好。直接在軟體中心搜mysql,把client和server選上。
環境說明:
ubuntu
10.04.2
QtSDK
(1.5G安裝包的那個)
mysql5.1
1.安裝MySQL
Linux下完整的MySQL開發需要安裝伺服器端,如果安裝客戶端也沒什麼不好。直接在軟體中心搜mysql,把client和server選上。
server在安裝時會提示為root用戶設置密碼,設一個好了。
我使用的是mysql5.1版本,用戶名密碼存儲在一個叫mysql的資料庫里,只有管理員級別才能看到。
如果直接在終端中輸入
mysql,可能會提示ERROR
1045
(28000),這是因為這時候你是以自己用戶名訪問資料庫,而目前資料庫中只有一個root用戶。沒關系,如果有必要,可以添加一個用戶進去:
mysql
-uroot
-p
--
以root用戶登錄
grant
usage
on
*.*
to
mmy@localhost;
--
授權名為mmy的用戶本地登錄,這里換成自己的用戶名就可以了
不過這時候直接mysql只有普通的許可權,創建資料庫、操作mysql都是不可以的,如果真有將其賦予管理員許可權的需要,可以自己查閱有關資料。
2.安裝Qt的MySQL驅動。
方法一:直接sudo
apt-get
install
libqt4-sql-mysql
,這是Qt4的mysql驅動,就不用自己費勁編譯了,不過可能會額外下載一些東西。

/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷貝到你的QtSDK
sqldrivers目錄下,我當時是直接用普通許可權安裝,目錄為:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
方法二:其實你也可以sudo
apt-get
download
libqt4-sql-mysql,把包解壓縮,然後把裡面的so文件搜出來直接拷貝到那裡。
方法三:乖乖按照官方方法編譯,但是貌似可行性不大,因為新版本的QtSDK並沒有src目錄,默認也沒有mysql的驅動。
3.做個demo試一下
記得在pro文件中
QT
+=那裡加上sql,否則qmake是不會去找sql的相關部分的
復制代碼代碼如下:
#include
QtCore/QCoreApplication
#include
QSqlDatabase
#include
QDebug
int
main(int
argc,
char
*argv[])
{
QCoreApplication
a(argc,
argv);
QSqlDatabase
db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("study");
db.setUserName("root");
db.setPassword("tyh");
if(!db.open()){
qDebug()
"Unable
to
open
database";
}else{
qDebug()
"Database
connection
established";
}
return
a.exec();
}
這里study這個資料庫之前我已經創建過了,如果連接成功,就會顯示Database
connection
established。
我是建立的控制台程序哈。
軟體教程小編推薦:
Linux安裝配置MariaDB資料庫全程詳解
Linux系統怎麼設置開機密碼?
Linux啟動菜單修改教程

③ qt中mysql怎麼連接遠程資料庫

創建資料庫

選擇開始菜單中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打開【SQL Server Management Studio】窗口,並使用Windows或 SQL Server身份驗證建立連接。

在【對象資源管理器】窗口中展開伺服器,然後選擇【資料庫】節點

右鍵單擊【資料庫】節點,從彈出來的快鬧悄捷菜單中選擇【新建資料庫】命令。

執行上述操作後,會彈出【新建資料庫】對話框。在對話框、左側有3個選項,分別是【常規】、【選項】和【文件組】。完成這三個選項中的設置會後,就完成了資料庫的創建工作,

在【資料庫名稱】文本框中輸入要新建資料庫的名稱。例如,這里以「新建的資料庫」。

在【所有者】文本框中輸入新建資料庫的所有者,如sa。根據資料庫液凳渣的使用情況,選擇啟用或者禁用【使用全文索引】復選框。

在【資料庫文件】列表中包括兩行,一行是資料庫文件,而另一行是日記文件。通過單擊下面的【添加】、【刪除】按鈕添加或刪除數粗禪據庫文件。

切換到【選項頁】、在這里可以設置資料庫的排序規則、恢復模式、兼容級別和其他屬性。

切換到【文件組】頁,在這里可以添加或刪除文件組。

完成以上操作後,單擊【確定】按鈕關閉【新建資料庫】對話框。至此「新建的數據」資料庫創建成功。新建的資料庫可以再【對象資源管理器】窗口看到。

④ html寫的頁面如何與QT寫的伺服器建立連接傳值,重點是伺服器端代碼怎麼寫

1.Qt編寫的伺服器端巧頃拍實現Http協議的部分功能,包括request和reply。下邊是RFC2616:

http://wenku..com/view/4402da4bf7ec4afe04a1dfcb.html

Qt的network組件沒有實現http server的類,所以要自己動手編寫。

2.在html頁面中嵌入flash/silverlight/java編寫的富媒體程序,但乎坦是可能有部分瀏覽器實現和孝羨系統中限制第三方程序的運行能力,包括其自定義網路通信能力。

⑤ 用Qt怎樣實現真正的客戶端與伺服器之間的通信

在.pro文件里加入network模塊,然後用相應的類來實現客戶端和伺服器端的編程

⑥ qt怎麼連接sqlserver

也可以通過如下代碼測試qt5是否支持SqlServer

#include <QApplication>
#include <QSqlDatabase>
#include <QStringList>
#include <QDebug>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers) //列出Qt5所有支持的資料庫類型
qDebug() << "\t" << driver;

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
qDebug() << "ODBC driver valid?" << db.isValid(); //true為支持
}

輸出結果如下:
"QSQLITE""QMYSQL""QMYSQL3""QODBC""QODBC3""QPSQL""QPSQL7"ODBC driver valid? true

2. 若是沒有編譯,可以手動編譯了qt的ODBC插件。
可以通過寬鍵編譯qt的時候加上 configure -plugin-sql-odbc來保證,也可以單獨編譯qt安裝包里的~\src\plugins\sqldrivers\odbcqmake -t vclib odbc.pronmake (註:windows中為mingw32-make)編譯後,在~\plugins\sqldrivers\下應該有qsqlodbcd4.dll(debug)或qsqlodbc4.dll
此時,可以用下面的程序,測試一下你的QT目前支持哪些資料庫訪問。

二、連接SQLServer
要注意的就是連接資料庫時使用的資料庫名,sqlserver和sqlite、mysql等是不同的,並不是直接寫入資料庫名稱。 而是DSN名。 如果你已經設置好了DSN,可以直接輸入DSN名。 如果沒有,可以採用DSN連接字元串直接連接ODBC資料庫。
1、直接設定DSN的字元串連接資料庫,很簡單。
/**
*函數介紹:創建資料庫連接
*輸入參數:
*返回值:無
*/
bool DataAccess::createConnection()
{
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << "\t" << driver;
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");

qDebug() << "ODBC driver valid?" << db.isValid();

// 注意,對於express版本資料庫, 一定要加\\sqlexpress這種後綴 SERVER=58.67.161.109\\sqlexpress
QString dsn = "DRIVER={SQL SERVER};SERVER=58.67.161.109;DATABASE=RDBS;UID=RDBS_USER;PWD=RDBS_USER_7010387;";
db.setHostName("58.67.161.109"); //資料庫伺服器,我這里不需要
//即使dsn中已經設置了UID和PASSWD,仍然需要執行setUserName和setPassword的步團檔驟
/慎或巧/還要注意這里的用戶名要有創建表的許可權,不然創建下面的表student會不成功。
db.setDatabaseName(dsn); //資料庫名
db.setUserName("RDBS_USER");//登錄名,我再dsn里設置UID和PWD後,就不需要設置了
db.setPassword("RDBS_USER_7010387");//密碼,我再dsn里設置UID和PWD後,就不需要設置了
if(!db.open ())
{
QSqlError error = db.lastError();
QMessageBox::warning (0, "Warning", QString("Failed to open database!Error:%1").arg(error.text()));
returnfalse;
}
returntrue;
}

閱讀全文

與qt中代碼如何連接伺服器相關的資料

熱點內容
中老年程序員寫代碼 瀏覽:14
加密貨幣白皮書怎麼寫 瀏覽:472
中文版的pdf 瀏覽:105
else在python的用法 瀏覽:547
if命令cmd 瀏覽:685
花書pdf 瀏覽:272
wps合成pdf文件 瀏覽:807
python教程pdf免費下載 瀏覽:959
程序員需求表 瀏覽:642
為什麼安卓不能用qq登錄 瀏覽:692
公開密鑰加密哪年 瀏覽:831
程序員向 瀏覽:471
滑鼠指針壓縮包下載 瀏覽:764
登錄認證失敗請檢查賬號伺服器地址 瀏覽:739
解壓游戲覆蓋方式 瀏覽:535
遺傳演算法的變異運算元怎麼實現 瀏覽:687
spring如何添加app 瀏覽:664
python循環import 瀏覽:552
怎樣把js代碼加密 瀏覽:800
frp伺服器百度雲 瀏覽:793