2014-04-01 18 views
1

我對單聲道和C#非常陌生,但我想使用套接字通過CAN打開通信。問題在於許多協議都是由地址族實現的,但目前爲止,單聲道並不支持CAN。系統內核支持它,但我不可能以這種方式修補文件以進入SystemCall級別。所以,如果有人讀到這個人是非常好的單聲道開發社區的一員,請幫助我和其他許多需要此功能的人。自從三個星期以來,我搜索了任何內容,並試圖找到自己的解決方法來實現它,但直到現在還沒有成功。即使我的問題不會在stackvoerflow的這個問題上得到解決,我希望能夠激勵那些比我更好地改進單聲道和硬代碼的人,這樣其他人就可以用CAN和單聲道輕鬆工作。 S我認爲基本問題是,變量AF_CAN和PF_CAN不是以單聲道實現的。我盡力通過添加PF_CAN和AF_CAN與價值29調整這些文件,但它並沒有爲我工作使用單聲道的SocketCAN C#

.../mono-3.2.8/mono/metadata/socket-io.c 
.../mono-3.2.8/mcs/class/System/System.Net.Sockets/AddressFamily.cs 
.../mono-3.2.8/mcs/class/System/System.Net.Sockets/ProtocolFamily.cs 

我希望幫助,因爲它都在那裏,但我不能把它放在一起。有了C,很容易以這種方式打開一個插座,而CAN總線工作正常,但單聲道一個小石頭不見了,以使其一切工作。

問候 本

回答

1

最簡單的解決辦法是用C來寫一個圖書館,一個處理SocketCAN的東西,然後就調用從C#代碼庫的調用。請參閱tutorial

另外,你可以看看socketcand並實現其基於TCP的API。