WOLFRAM

技術 ›

WSTP (Wolfram 符號傳輸協定)

在程式之間無縫傳遞代碼、資料等內容

WSTP 長期以來一直是 Wolfram 系統的核心支援組件,用在程式之間傳輸 Wolfram 語言符號表達式的原生協定。

無論是在單一電腦上執行,還是透過網路運作,WSTP 提供 Wolfram 語言及其他語言編寫的程式,以高效能方式交換具有任意結構的代碼、資料或其他符號表達式。


語言支援

功能豐富的程式庫讓開發者能夠透過多種程式語言存取 WSTP。

C/C++

C/Link 透過 WSTP 進行通訊,提供便捷的原生 C 語言支援,以及請求和使用計算結果。

wstp.h:標頭檔案
libwstp 等:32 和 64 位元程式庫
wsprep:模板驅動的緊連代碼產生器
wscc:WSTP 編譯器驅動程式

Java

J/Link 為 Java 程式提供高階的 WSTP 通訊支援。

透過 J/Link,Java 類別與方法可立即透過 WSTP 在 Wolfram 語言程式中被識別。

.NET

.NET/Link 為 .NET 程式(如 C#、VB.NET 等)的 WSTP 通訊提供高階支援。

透過 .NET/Link,.NET 類別與方法可立即透過 WSTP 在 Wolfram 語言程式中被識別。

WOLFRAM 語言

Wolfram 語言提供 WSTP 内建支援以進行交換表達式及請求運算。

Rust

wstp 條板箱透過 WSTP 進行通訊,提供符合人體工學且高效的 Rust 支援。

wstp:高效綁定 WSTP
wolfram-library-link:從 Wolfram 語言高效呼叫 Rust 程式庫
wolfram-expr:在 Rust 中表示 Wolfram 語言表達式

其他語言

目前正在開發對其他語言的完整 WSTP 支援。

許多程式語言(包括 PHP、Python、JavaScript、Visual Basic、Java、C#、C++ 及 Rust)皆支援透過 HTTP 與 Wolfram 語言建立單向連線。

WSTP 服務與客戶端

WSTP 是 Wolfram 技術生態系統實現軟體元件間豐富交流的關鍵。

WOLFRAM 引擎

WSTP 是 Wolfram 引擎的原生通訊協定。

WSTPSERVER

WSTPServer 提供可透過 WSTP 進行通訊的 Wolfram 引擎。

WOLFRAM 桌面筆記本介面

Wolfram 桌面筆記本介面透過 WSTP 與本地或是遠端電腦的 Wolfram 引擎核心進行通訊。

WOLFRAM 語言平行處理框架

Wolfram 語言内部的平行計算透過 Wolfram 引擎核心之間的 WSTP 連線來支援。

WOLFRAM CLOUD WSTP 端點

Wolfram Cloud 可公開一個 WSTP 端點,允許透過網路以 WSTP 協定進行通訊。URL 結構:wstp://www.wolframcloud.com/...

WSTP 可安裝程式

透過使用 WSTP 語言程式庫和輔助程式,可讓多種語言的程式設定為透過 WSTP 進行通訊。

WOLFRAM LIBRARYLINK

可以透過 Wolfram LibraryLink 建立可直接載入至正在運行的 Wolfram 引擎中的 DLL,並以 WSTP 與該引擎進行通訊。

符號表達式交換

WSTP 可用於在任意兩套程式之間傳輸符號表達式,即便這些程式都不是 Wolfram 語言。

技術資訊

  1. WSTP 是一種雙向通訊協定(類似於 XMPP,但與 HTTP 不同)。
  2. WSTP 目前支援 Mac、Windows、Linux、iOS 及 Android 系統。
  3. 在適用情況下,WSTP 同時支援 32 位元與 64 位元系統。
  4. WSTP 可以在本機和網路環境中執行。
  5. WSTP 可使用多種傳輸協定和處理間通訊機制,包括 TCP/IP、共享記憶體和 Unix 管道。

背景

WSTP 是 MathLink(傳輸協定元件)的新名稱;Mathematica 自 1990 年即採用的程式間通訊標準。

C/LinkMathLink 中 C 語言 API 元件的新名稱。