Is LabVIEW one of the supported languages for protocol buffers for gRPC? - server

I'm currently working on creating a LabVIEW server and LabVIEW client for gRPC.
I would like to know if LabVIEW is one of the supported languages for protocol buffers for gRPC?

There is an open source repository where NI has been building tools to enable users to create a LabVIEW Server gRPC interface: https://github.com/ni/grpc-labview
There is not currently a lot of client support for gRPC in LabVIEW.

LabVIEW is not currently supported for gRPC, for official information on supported languages refer to the gRPC Languages page.
There have been attempts at implementation using either C++, .Net or Python integration but no official packages that I am aware of.
Full gRPC implementation in a language is a pretty complex process that must enable a language to build classes based on the configuration of a Protobuf definition file.

Related

Is it possible to access a VSCode language server from another application?

According to the overview at https://microsoft.github.io/language-server-protocol/overviews/lsp/overview/, VSCode language servers are essentially JSON-RPC servers. Once VSCode is open and running at least 1 language server, how can you tell what port that language server is running on in order to access it from outside of VSCode?
I want to make an experimental application where a VSCode language server is the back-end for a custom code editor that runs in a separate process.
A language server is usually a console application launched by VSCode based on configuration, and its stdin/stdout streams are redirected. There is no port opened usually. Aka, JSON-RPC is a protocol over stdin/stdout, not JSON over HTTP.
If you want to integrate a language server with your own editor, you might fully implement the language server protocol client on the editor side, so that it can perform the same language server process management and stdin/stdout stream redirection. There are many open source projects out there for famous editors, such as
https://github.com/autozimu/LanguageClient-neovim
https://github.com/atom-community/atom-languageclient
Depending on the programming language your editor is built upon, you can find more specific examples to follow.

Leshan connect to server and cloud

I have the task of implementing iot device management using Eclipse Leshan. I have difficulty understanding how Eclipse Leshan works in connecting IOT sensors with servers and cloud. Is it true if I declare that Eclipse Leshan does not require a gateway like Eclipse Kura to connect into server and cloud?
Does anyone know where the complete documentation about Eclipse Leshan is? it would be very helpful if there were examples of programs in implementing the eclipse leshan.
Thank you
Eclipse Leshan is a library for implementing applications that use the LWM2M protocol to manage devices. As such, your application can use Leshan's Java API in order to interact with devices that also support LWM2M.
LWM2M does not per se mandate a transport protocol. However, the spec is written assuming that CoAP over UDP is used for that purpose. In fact, the LW in LWM2M stands for Lightweight and as such, using CoAP as the transport protocol makes a lot of sense for managing constrained devices.
Eclipse Leshan itself does not connect to a server or cloud but instead is usually part of an application that is hosted on a server (on the cloud). However, you need to implement that application yourself because Leshan, as indicated above, is just a library. The devices then interact with your LWM2M enabled application. Because CoAP/UDP uses standard IP, this interaction can occur over public internet infrastructure if desirable in your use case, i.e. no gateway is necessarily needed. You can, however, also connect your devices to a local gateway, e.g. Kura, and then connect the gateway to your LWM2M server in the cloud instead. It really depends on your use case and the capabilities of the devices.

MongoDB's "mongosniff" for windows

I need to see the request/response to a mongo server. MongoDB has an application called "mongosniff", but it isn't available on windows.
What is my alternative? Fiddler?
mongosniff isn't included with the binary download for Windows, but you can compile it yourself if you are patient and so inclined. You will need to install developer tools including Git for Windows, Scons, and the WinPcap developer's pack so this certainly isn't a quick path.
I would instead recommend downloading Wireshark which is a cross-platform network protocol analyzer. In fact, I would recommend using Wireshark in preference to mongosniff even if you aren't using Windows.
Wireshark also uses the WinPcap library and provides a much more comprehensive user interface than mongosniff as well as a huge selection of supported protocols including the Mongo Wire Protocol.
Fiddler is a web proxy for debugging HTTP/HTTPS traffic, and isn't directly relevant to the Mongo Wire Protocol. You could use Fiddler to inspect a web interface (eg. REST API), but it does not decode lower level protocols.

Oracle access from iOS

I'm developing an iPad app that needs read-only access to an Oracle database.
Is there any way to do this? As far as I can see, the only options are using OCI, which requires a prebuilt binary in the form of the instant client (and not built for ARM), or OJDBC drivers. Both of these seem to be out of the question.
In my research I have discovered that libmysqlclient compiles for arm with minimal tuning. This is a stretch, but is there any possible way to use this to my advantage?
I have seen this product providing odbc connectivity through the use of a Windows gateway machine using the ODBC client libraries, but this solution really isn't an option for me at the present time.
Any ideas?
At the very bottom, there are only two libraries for accessing Oracle:
The OCI binary library.
The Java OJDBC Jar file.
All other libraries (such as ODBC, ADO.NET) build upon one of these libraries (usually on OCI).
There's no OCI library for the iPhone (or any ARM architecture as far as I know) and there's no Java VM to use OJDBC. So you cannot directly connect from the iPhone to an Oracle database.
So whatever your solution will be, it'll require an intermediate server (or gateway).
While I did end up using an intermediary server... I have since realized that this isn't strictly necessary. Direct access should be obtainable by using the OJDBC drivers directly on iOS using gcj to compile them for ARM. Since Objective-C is a superset of C, you could use JNI for communication to and from. Hope this helps anyone who comes here :)
Direct access to an Oracle database from iOS is not possible as of this moment. Exchanging data with an Oracle database by means of web services is fairly simple. You can use APEX for this, lean and mean.

Socket communication?

What are the preferred platforms to implement TCP socket communication?
I'm interested in:
scripting languages (eg Swocket for Python)
and runtimes (eg .NET / Java).
In Java, we use Apache Mina,
http://mina.apache.org/
Its performance rivals C implementation.
Socket communication implemented using Java NIO might be a good method. Some of Java based web servers use it. I remember jetty using it. Here is a link from Sun.