軟體之間的資料傳輸介面有哪些?這些介面是如何開發的?

時間 2021-06-06 00:28:04

1樓:ming yang

要知道所有在電腦或者手機等裝置間傳輸資料,無外乎兩個基礎協議tcp/ip和UDP。

TCP/IP就是點對點傳輸

UDP就是廣播協議一對多傳輸

任何協議其實就是在這兩個協議之上的二次封裝

直接傳輸方式有

socket這直接就是使用了tcp/ip或UDP,一般socket在C#裡就是個呼叫基礎協議的類庫

而在基礎協議之上有HTTP,HTTPS,SMTP,POP3,FTP等等。

說白了這些二次封裝協議(指HTTP等),都是在TCP/IP資料報裡加入了自己協議特有的資料特徵。

而在這些協議之上還有三次封裝協議比如SOAP就是在HTTP協議之上又加了一層

軟體根據設計需要可能是多種協議混合使用。

如果你說軟體之間的介面,現在最流行的應該是WebServer或WebApi,原因是這兩個介面之間使用的資料都是文字資料(軟體開發裡有個萬物皆可是文字的情況,即使任何檔案都可以轉化為二進位制文字進行傳輸,獲得後再進行還原)。

而文字傳輸比其他介面的優勢在於防火牆穿越,因為有些網路防火牆會攔截二進位制資料,但是文字資料是不攔截的(因為防火牆開發者認為文字資料不會被執行,而且文字資料千奇百怪,很難判斷傳來的是否是危險程式)。

所以WebService和WebAPI就會非常流行

對於C 與C 之間的資料傳輸,用GCHandle或Marshal是否就是最好的方案了?

丁長老 建議用com,直接訪問就可以了。其他的方式嗎,可以考慮socket,我做過乙個類似的小專案,c 端是opencv,嵌入了乙個攝像頭,對特定物件 玩家丟出的球,真球 做運動檢測和撞擊檢測,unity端做效果展示 被球砸到的物體消失 就在c 端做了乙個socket伺服器,通過本機的socket進...

USB介面被禁用資料傳輸功能,若用擴充套件塢接type C口,能使用擴充套件的USB功能嗎?

Lemon 要搞清楚USB介面被禁USB 資料傳輸功能,是從哪個層面禁的,windows系統,還是BIOS。不過我覺得大多數IT應該是從系統層面,畢竟方便通過策略來管控。你想使用USB介面幹嘛?想達到什麼目的,是copy資料出來嗎?若BIOS沒有禁掉USB資料功能,你可以找個U盤做成啟動盤,然後從U...

LiFi 目前是否用於資料傳輸的生產部署?

林大路 這個是不可能的,這種東西始於實驗室,終於實驗室因為你把它的光線一阻擋,好了,傳輸失敗,就跟TCP裡面丟包率太高一樣速度也是理論的 而且可見光的傳輸有多遠?LiFi的技術原理其實很簡單,就是不斷的閃爍燈光,發出像摩斯碼一樣的頻率 然後被解碼器還原 所以這種東西基本是用來竊取資料的 如何竊取資料...