qsocket 指定網絡卡 QAsioSocket

2021-10-13 08:41:38 字數 982 閱讀 4193

qasiotcpsocket

把asio的socket操作封裝成類似qt network類似的簡單的api。

###優點,目的:

api 使用簡單優雅。封裝完全隱藏asio實現的細節。

不依賴boost。可以直接包含**使用,也可以編譯成動態庫。

###比較qt的socket :

效率高:充分利用平台特性,win(iocp),linux(epoll)。而qt的socekt都是select。

併發高:個人不準確測試,當qtcpserver接受900+連線後就不能在接受新的連線了。而qasiotcpserver幾千個很輕鬆。

###使用方法:

1.build:

直接用qt-creator 開啟專案(qasiosocket.pro),然後開啟src.pro檔案.

然後編譯,生成的動態庫在lib資料夾下,標頭檔案就是include資料夾下的。

2.直接使用原始碼:

把**複製到您的專案目錄下去。

在pro檔案中包含include(qasiosocket/qasiosocket.pri),

新增巨集定義 defines += qasiosocket_nolib 到您的pro檔案。

###環境依賴

依賴庫:qt 5.x(just use core module), asio(non boost.已經在原始碼裡包含了)

windows: vs2013 + , mingw 4.9 +

linux : gcc 4.8 +

###啟用ssl:

ssl連線只實現了服務端,可以做ssl socket的伺服器,但是沒有客戶端介面去連線遠端ssl 伺服器。

啟用ssl 的庫編譯:

在src.pro工程檔案裡新增:defines += qasio_ssl (取消哪行注視也行)

新增openssl的庫引用。

直接使用原始碼的話,請在您的工程檔案(pro)檔案裡加上巨集qasio_ssl。並新增openssl的庫引用。

qsocket 指定網絡卡 QSocket

判斷是否能夠路由到指定的ip parameters aremote 用來確定網絡卡的遠端位址 returns 在以下情況下,返回false 1.無法路由到遠端位址 2.網絡卡被禁用或網絡卡斷開連線 否則,返回true bool fastcall canrouteto const in addr ar...

多網絡卡指定網絡卡傳送資料

環境 2個網絡卡,分別在不同網路環境。區域網一 閘道器 10.9.16.254 區域網二 閘道器 10.9.24.1 電腦位址2 10.9.24.88 如下 include stdafx.h include include pragma comment lib,ws2 32.lib includev...

多網絡卡指定網絡卡傳送資料

環境 2個網絡卡,分別在不同網路環境。區域網一 閘道器 10.9.16.254 區域網二 閘道器 10.9.24.1 電腦位址2 10.9.24.88 如下 include stdafx.h include include pragma comment lib,ws2 32.lib include ...