hi,I want to use TCP in Appconnector is it possible? if yes how?
If I want to use an application in order to communicate with BCI using Appconnector how should it be done? I mean how it is possible at the same time have connection among BCI,Appconnector and my application with two ports.
I appreciate your answer in advance.
Appconnector
-
mellinger
- Posts: 1341
- Joined: 12 Feb 2003, 11:06
Re: Appconnector
Hi,
AppConnector only works through UDP.
Locally, between processes on a single machine, UDP is a reliable protocol in the sense that there will be no loss of packets.
Remotely, the probability of successful packet delivery decays exponentially with a growing number of network components between the two machines. Still, video streaming across the globe through UDP packets works quite well despite a relatively large number of components in between, so we can conclude that the probability for losing a packet between neighbouring components must be quite small.
Thus, in a wired local network with a single router, and all hardware functioning properly, the risk of losing a UDP packet is practically zero.
A TCP connection to BCI2000's operator module is possible since version 3.0.5. Through such a connection, you may obtain all information that is available through the AppConnector protocol. In addition, you may fully control BCI2000 through such a connection.
For convenience, there also exists a DLL called BCI2000RemoteLib which deals with connection details, and presents you with a sort-of proxy operator object that you can manipulate through a set of functions.
In addition, this functionality is available in form of a COM scripting object to be used from .net languages (VB, C#, etc) or Matlab.
If your application is written in C++, you may also add the source code of the BCIRemote class to your project rather than importing from a library.
http://www.bci2000.org/wiki/index.php/P ... mote_Class
HTH,
Juergen
AppConnector only works through UDP.
Locally, between processes on a single machine, UDP is a reliable protocol in the sense that there will be no loss of packets.
Remotely, the probability of successful packet delivery decays exponentially with a growing number of network components between the two machines. Still, video streaming across the globe through UDP packets works quite well despite a relatively large number of components in between, so we can conclude that the probability for losing a packet between neighbouring components must be quite small.
Thus, in a wired local network with a single router, and all hardware functioning properly, the risk of losing a UDP packet is practically zero.
A TCP connection to BCI2000's operator module is possible since version 3.0.5. Through such a connection, you may obtain all information that is available through the AppConnector protocol. In addition, you may fully control BCI2000 through such a connection.
For convenience, there also exists a DLL called BCI2000RemoteLib which deals with connection details, and presents you with a sort-of proxy operator object that you can manipulate through a set of functions.
In addition, this functionality is available in form of a COM scripting object to be used from .net languages (VB, C#, etc) or Matlab.
If your application is written in C++, you may also add the source code of the BCIRemote class to your project rather than importing from a library.
http://www.bci2000.org/wiki/index.php/P ... mote_Class
HTH,
Juergen
Who is online
Users browsing this forum: No registered users and 0 guests
