最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

LabVIEW開發(fā)TCP網(wǎng)絡(luò)通訊程序1

2023-04-18 19:40 作者:bjcyck  | 我要投稿

LabVIEW開發(fā)TCP網(wǎng)絡(luò)通訊程序1

雖然創(chuàng)建“服務(wù)器”的想法可能有一定的神秘感,但其實沒有太多的意義–至少在使用LabVIEW時是這樣。該過程的基本假設(shè)是,有一些東西監(jiān)視計算機的網(wǎng)絡(luò)接口,等待客戶端應(yīng)用程序請求TCP/IP連接。在網(wǎng)絡(luò)術(shù)語中,這個“東西”被稱為“偵聽器”,因為偵聽以太網(wǎng)接口進行連接。然而,給定的偵聽器不僅僅是偵聽任何連接嘗試,而是網(wǎng)絡(luò)標(biāo)準(zhǔn)定義了在單個接口上創(chuàng)建多個“端口”的能力,然后將特定端口與特定應(yīng)用程序相關(guān)聯(lián)。因此,當(dāng)用戶創(chuàng)建偵聽器時,用戶必須告訴它要監(jiān)視的端口。

理論上,端口號可以是任何U32值,但現(xiàn)有標(biāo)準(zhǔn)指定了某些端口號上預(yù)期的流量類型。例如,默認情況下,端口80或8080上應(yīng)有HTTP連接,F(xiàn)TP的默認端口21和LabVIEW默認偵聽端口3363。用戶所要做的就是選擇一個不用于計算機上其他任何內(nèi)容的數(shù)字。要在LabVIEW中創(chuàng)建偵聽器,有一個內(nèi)置函數(shù)TCP?Create?Listener,它需要一個端口號,并返回對它創(chuàng)建的偵聽器的引用。但是果用戶選擇其他應(yīng)用程序已經(jīng)在偵聽的端口,則返回錯誤。

創(chuàng)建偵聽器后,用戶必須通過調(diào)用內(nèi)置函數(shù)TCP?Wait?On?Listener來告訴它開始偵聽。顧名思義,它會等到在關(guān)聯(lián)的端口上建立連接,不過用戶通常需要指定超時。當(dāng)此函數(shù)看到并建立傳入連接時,它會輸出特定于該特定連接的新引用。然后,連接處理程序VI可以使用該引用來管理與該特定遠程設(shè)備或進程的交互。

最后,完成工作后,通過關(guān)閉偵聽器引用TCP?Close?Connection和已打開的所有連接引用來終止服務(wù)器。把這三個階段放在一起,就是如下所示的內(nèi)容。

這個簡單的代碼創(chuàng)建一個偵聽器、等待連接、為該連接提供服務(wù)(它從中讀取4個字節(jié)),然后退出。雖然這段代碼原理沒問題,但并不是太實用。例如,只等待一個連接然后退出的服務(wù)器有什么用?值得慶幸的是,擴展此示例并不難。用戶所要做的就是將其變成一個狀態(tài)機。

一步一個腳印---事緩則圓

眾所周知,狀態(tài)機內(nèi)置超時事件,因此以下狀態(tài)包括指向下一個要執(zhí)行的狀態(tài)的移位寄存器,以及第二個帶有代碼在進入該狀態(tài)之前將施加的延遲的寄存器。這里有一個狀態(tài)圖,顯示了流程的基本流程。

執(zhí)行從狀態(tài)開始。此時的主要工作是創(chuàng)建TCP偵聽器。接下來耐心地等待連接,在短時間內(nèi)循環(huán)回自身。只要沒有建立連接,這種狀態(tài)就會一遍又一遍地執(zhí)行。這一系列的短暫等待為其他事件(如關(guān)閉服務(wù)器的事件)提供了執(zhí)行的機會。

建立連接后,程序?qū)⑦\行該狀態(tài)。由于狀態(tài)機盡快返回等待新連接至關(guān)重要,因此該狀態(tài)會動態(tài)啟動可重入連接處理程序VI,并立即轉(zhuǎn)換回該狀態(tài)。

狀態(tài)機繼續(xù)在最后兩種狀態(tài)之間運行,直到請求服務(wù)器停止。此時,代碼將轉(zhuǎn)換為釋放偵聽器并停止?fàn)顟B(tài)機的狀態(tài)。

未完待續(xù)

需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復(fù)制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個問題就不用加微信咨詢了。有關(guān)LabVIEW編程、LabVIEW開發(fā)等相關(guān)項目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。


LabVIEW開發(fā)TCP網(wǎng)絡(luò)通訊程序1的評論 (共 條)

分享到微博請遵守國家法律
工布江达县| 怀安县| 通州市| 阿勒泰市| 安庆市| 海伦市| 容城县| 清水河县| 定州市| 庄浪县| 夏河县| 内江市| 霍林郭勒市| 怀宁县| 五台县| 兴仁县| 安阳县| 榆中县| 新安县| 米易县| 宿州市| 平安县| 兖州市| 河北区| 黄冈市| 襄汾县| 乐山市| 克什克腾旗| 弥勒县| 连云港市| 都匀市| 中阳县| 怀集县| 都安| 泰安市| 会宁县| 澄迈县| 肃北| 嘉荫县| 弋阳县| 益阳市|