VC遠控(二)連線Server端及密碼驗證

2022-03-19 22:08:50 字數 2720 閱讀 7594

首先服務端是乙個win32console應用程式。

在建立專案的時候需要勾選mfc

套接字的初始化同客戶端相似:

//

對套接字進行初始化

wsadata wsadata;

word ver = makeword(2, 2

); wsastartup(ver, &wsadata);

socket server;

server = socket(af_inet, sock_stream, 0

); sockaddr_in server_addr;

server_addr.sin_family =af_inet;

server_addr.sin_port = htons(12345

); server_addr.sin_addr.s_un.s_addr = htonl(inaddr_any);//

接收來自所有ip位址的連線

然後進行繫結、監聽、接收客戶端連線的操作

//

繫結 bind(server, (sockaddr*)&server_addr, sizeof

(server_addr));

//監聽

listen(server, 10);//

最多可以監聽10個連線

socket client;

//接收

while (true

)

system(

"pause");

return

0;

while語句:如果不加的話,客戶端連線依次,服務端就會關閉。

客戶端的**也需要做出相應修改,如果連線成功會進行一些操作(將狀態列文字修改為:connect succeed)

//

在指定的套接字上進行連線

如果客戶端成功的連線,服務端會向客戶端傳送輸入密碼的請求:

//

服務端正確的接收到了來自客戶端的連線

if (client = accept(server, 0, 0) !=invalid_socket)

不過,資訊也有可能傳送失敗,需要進行判斷一下

//

判斷是否傳送成功

if (send(client, "

password

", sizeof ("

password

"), 0) !=socket_error)

接下來進行客戶端的編寫,客戶端接收到password時,會彈出乙個輸入密碼的視窗,這個視窗需要自己建立

char buff[16];    //

用來儲存接收的資料

設計完輸入密碼對話方塊,還需要新增到類裡面,選擇新建mfc類

類名寫password就好,基類選擇cdialog,對話方塊選擇剛剛建立的那個對話方塊的名稱,然後確定

//

將接收到的資料和password進行比較

if (strcmp(buff, "

password

") == 0

)

現在來看一下執行效果

下面來對輸入的密碼進行傳遞及判斷

服務端:

if (recv(client, password, sizeof(password), 0) ==socket_error)

else

else

}

客戶端:

else

if (recv(server, buff, sizeof(buff), 0) !=socket_error)

if (strcmp(buff, "

false

") == 0

)

}

由於輸入密碼和傳送密碼並不在乙個類中,所以需要定義乙個全域性變數來儲存密碼

R基礎學習(二) 連線sqlserver

測試環境 win10 rstudio 三個步驟 1 建立odbc資料來源 2 install.packages rodbc 3 編寫連線測試指令碼 1 建立odbc資料來源 控制面板 系統和安全 管理工具 odbc資料來源 64位 系統dsn,點選新增按鈕,接著選擇安裝資料來源驅動程式 sql se...

php 學習二,連線資料庫

pdo,資料庫抽象層 php data object 跨平台資料 主要原理,把資料處理業務邏輯和資料庫連線區分開 主要php無論連線什麼資料庫,都不影響php業務邏輯 oop物件導向程式設計pdo類庫是php自帶的類庫,只需要在php.ini中把pdo類庫注釋去掉就可以了,然後選擇不同的資料庫型別驅...

PHP後端(二) 連線資料庫

資料庫是應用開發所必不可少的模組之一,使用資料庫的好處和必要性不用我說了,什麼資料共享啦 集中控制啦 維護性啦等等等等,可以說是好處多多。而所有與資料有關的操作,基本上都是後端的範疇,所以掌握好對資料庫的操作,是後端的必修課之一。資料庫的內容很龐大,真的要學起來還挺複雜的,我懂得也不多,就先挑簡單的...