首先服務端是乙個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位址的連線
//while語句:如果不加的話,客戶端連線依次,服務端就會關閉。繫結 bind(server, (sockaddr*)&server_addr, sizeof
(server_addr));
//監聽
listen(server, 10);//
最多可以監聽10個連線
socket client;
//接收
while (true
)
system(
"pause");
return
0;
客戶端的**也需要做出相應修改,如果連線成功會進行一些操作(將狀態列文字修改為:connect succeed)
//在指定的套接字上進行連線
如果客戶端成功的連線,服務端會向客戶端傳送輸入密碼的請求:
//不過,資訊也有可能傳送失敗,需要進行判斷一下服務端正確的接收到了來自客戶端的連線
if (client = accept(server, 0, 0) !=invalid_socket)
//接下來進行客戶端的編寫,客戶端接收到password時,會彈出乙個輸入密碼的視窗,這個視窗需要自己建立判斷是否傳送成功
if (send(client, "
password
", sizeof ("
password
"), 0) !=socket_error)
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後端(二) 連線資料庫
資料庫是應用開發所必不可少的模組之一,使用資料庫的好處和必要性不用我說了,什麼資料共享啦 集中控制啦 維護性啦等等等等,可以說是好處多多。而所有與資料有關的操作,基本上都是後端的範疇,所以掌握好對資料庫的操作,是後端的必修課之一。資料庫的內容很龐大,真的要學起來還挺複雜的,我懂得也不多,就先挑簡單的...