我記得精易論壇有個(gè)人寫了這個(gè)代碼的,那個(gè)代碼我看了,作者也說了,完全使用易語(yǔ)言是不能實(shí)現(xiàn)的,需要調(diào)用C寫的DLL才能實(shí)現(xiàn)的
創(chuàng)新互聯(lián)公司是一家專業(yè)提供興和企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、做網(wǎng)站、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為興和眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
易語(yǔ)言有網(wǎng)絡(luò)和通訊模塊,里面有多個(gè)http傳輸相關(guān)的模塊,可以使用指定的某個(gè)模塊把數(shù)據(jù)發(fā)送到服務(wù)器。
我不用易語(yǔ)言,所以沒辦法給你直接演示。你可以參考官方的示例及說明,結(jié)合你的需求試試看
1、用戶登錄discuz,通過logging.php文件中的函數(shù)uc_user_login對(duì)post過來的數(shù)據(jù)進(jìn)行驗(yàn)證,也就是對(duì)username和password進(jìn)行驗(yàn)證。2、如果驗(yàn)證成功,將調(diào)用位于uc_client下client.php文件中的函數(shù)uc_user_synlogin,在這個(gè)函數(shù)中調(diào)用 uc_api_post('user', 'synlogin', array('uid'=$uid))。3、然后這個(gè)函數(shù)后向Ucenter的index.php傳遞數(shù)據(jù),index.php接受傳遞的數(shù)據(jù),獲得model為user,action為synlogin的值。4、然后Ucenter的index.php調(diào)用control目錄下的user.php類中的onsynlogin方法,通過foreach循環(huán),以javascript的方式通知uc應(yīng)用列表中開啟同步登陸的應(yīng)用進(jìn)行同步登錄;即通過get方式傳遞給各個(gè)應(yīng)用目錄中api下的uc.php一些數(shù)據(jù)。5、uc.php接收通知并處理get過來的數(shù)據(jù),并在函數(shù)synlogin(位于uc.php中)通過函數(shù)_authcode加密數(shù)據(jù)(默認(rèn)以UC_KEY作為密鑰),用函數(shù)_setcookie設(shè)置cookie。6、各個(gè)應(yīng)用用對(duì)應(yīng)的密鑰解碼上面設(shè)置的cookie,得到用戶id等數(shù)據(jù);通過這個(gè)值來判斷用戶是否經(jīng)過其它應(yīng)用登錄過,從而讓用戶可以自動(dòng)登陸。應(yīng)用程序的logging.php ------uc_client中的client.php------Ucenter------應(yīng)用程序中api/uc.php 其實(shí)Ucenter實(shí)現(xiàn)同步登陸的原理就是cookie,一個(gè)應(yīng)用登陸成功之后,向Ucenter傳遞數(shù)據(jù),讓Ucenter通知其他的應(yīng)用也設(shè)置cookie,這樣用戶在訪問其他應(yīng)用的時(shí)候通過已經(jīng)設(shè)置好的cookie實(shí)現(xiàn)自動(dòng)登陸。了解了Ucenter的同步原理,再遇到無法同步登陸,或者開發(fā)一些與UCenter接口的時(shí)候就會(huì)容易很多。
可以在連接之后加個(gè)信息框,彈下取失敗原因,語(yǔ)句如下:
信息框 (取失敗原因 (), 0, )
客戶端指的是桌面軟件或者手機(jī)軟件 交互方式為
1、http request http請(qǐng)求形式 遵循h(huán)ttp協(xié)議 模式為 一問一答,請(qǐng)求一次,php應(yīng)答一次,特點(diǎn)是,不請(qǐng)求不應(yīng)答,無請(qǐng)求無法主動(dòng)應(yīng)答,有請(qǐng)求必應(yīng)答。
2、SOCKET,socket是一個(gè)雙通道無阻塞的持久鏈接協(xié)議,多用于需要實(shí)時(shí)數(shù)據(jù)通信的軟件,比如網(wǎng)絡(luò)游戲,股票系統(tǒng)等數(shù)據(jù)通信頻繁。
因?yàn)槊總€(gè)http請(qǐng)求都包含冗長(zhǎng)的請(qǐng)求header頭,所以如果數(shù)據(jù)交互頻繁,又使用http協(xié)議的話,會(huì)導(dǎo)致發(fā)送很多無意義的header,所以使用socket,socket只發(fā)送一次頭,即可保持長(zhǎng)久鏈接。
php對(duì)socket支持不理想,如果使用socket建議使用java或者c