Matlab混合編程之使用C\UDP動態鏈接庫傳輸數據?

用Matlab加載自己使用C編譯的UDP協議的DLL,進行數據傳輸.

工具/原料

Matlab 2011a

Vs 2010

方法/步驟

啟動兩個matlab軟件,分別加載Dll

loadlibrary('CSForUDLL.dll','CSForUDLL.h')

Matlab混合編程之使用C\UDP動態鏈接庫傳輸數據

Matlab混合編程之使用C\UDP動態鏈接庫傳輸數據

libfunctions CSForUDLL -full

查看一下Dll裡的所有函數

Matlab混合編程之使用C\UDP動態鏈接庫傳輸數據

在一個matlab運算add_server函數,作為啟動Server端

我寫的dll第一個參數為要發送的數字

calllib('CSForUDLL','add_server',2,2,0)

之行結束會發現Server端在一直等待。

Matlab混合編程之使用C\UDP動態鏈接庫傳輸數據

在另一個matlab上運行add_client函數,作為啟動Client端

同理,我的dll第一個參數用來發送數字;

calllib('CSForUDLL','add_client',2,2,0)

Matlab混合編程之使用C\UDP動態鏈接庫傳輸數據

回車運行,會發現返回一個數字。

這個數字是從Server端發送過來的。

Matlab混合編程之使用C\UDP動態鏈接庫傳輸數據

再看一下Server端,收到Client發送的數字1 。

Matlab混合編程之使用C\UDP動態鏈接庫傳輸數據

注意事項

普通socket程序在matlab上並不成功,比例最後加入多線程才成功,要dll測試可找我。

相關問題答案