# Correct process to use julia code from C# or VB .NET

**URL:** <https://discourse.julialang.org/t/correct-process-to-use-julia-code-from-c-or-vb-net/58018>\
**Category:** General Usage\
**Tags:** embedding, gui\
**Created:** [March 26, 2021, 2:41pm UTC](https://discourse.julialang.org/t/correct-process-to-use-julia-code-from-c-or-vb-net/58018 "2021-03-26T14:41:50Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Shuhua](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shuhua/32/27618_2.png) [@Shuhua](https://discourse.julialang.org/u/Shuhua)\
**Post date:** [July 7, 2021, 11:36am UTC](https://discourse.julialang.org/t/correct-process-to-use-julia-code-from-c-or-vb-net/58018/6 "2021-07-07T11:36:16Z")

</div>

I guess your Julia package mainly does numerical computing, right? In that case, I believe that it is eaiser “to use a messaging protocol” through some communication mechanism like inter-process communication (IPC). Preferably, you may try the [ZeroMQ](https://github.com/JuliaInterop/ZMQ.jl) library. You can find more discussion in this thread [Running Julia from JAVA? What is crazier?](https://discourse.julialang.org/t/running-julia-from-java-what-is-crazier/31662). Just replace Java with C#.

In short, your Julia code may set up a server and listen for requests from the C# client, e.g., the request “svd” (along with data) may require the Julia code to perform some SVD on the given data. Then, the Julia server sends the solution back to C# client. [MsgPack](https://msgpack.org/index.html) can be used to encode the message communicated by ZeroMQ.

---

_[View the full topic](https://discourse.julialang.org/t/correct-process-to-use-julia-code-from-c-or-vb-net/58018)._
