MATLAB可以与websocket交谈吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB可以与websocket交谈吗?相关的知识,希望对你有一定的参考价值。

我想知道MATLAB是否可以与websocket交谈。如果是这样,我应该使用哪个MATLAB库?我需要在我的项目中使用这些信息,我通过rosbridge(连接到ROS的websocket服务器)在ROS和MATLAB之间进行通信。任何帮助将非常感激。

例如对于C,它是这样的:

  struct addrinfo *address;
  getaddrinfo("192.168.0.111", "9090", NULL, NULL);

  int sockfd = socket(PF_INET, SOCK_STREAM, 0);
  connect(sockfd, address->ai_addr, address->ai_addrlen);

  char* message = "raw

";
  send(sockfd, message, strlen(message));
答案

从该代码,它看起来像一个常规的TCP连接。 “websocket”意味着不同的东西。对于TCP连接,请使用此处的免费TCP / UDP / IP工具箱:

http://www.mathworks.com/matlabcentral/fileexchange/345-tcpudpip-toolbox-2-0-6

它至少与MATLAB Instrument Control Toolbox中提供的官方网络工具一样好。

等效代码看起来像这样:

con=pnet('tcpconnect','192.168.0.111', 9090); 
pnet(con,'printf','raw

'); 
pnet(con,'close');
另一答案

我知道这是一个老问题,但我的答案可能会在将来帮助其他人(我希望)。

使用Matlab 2015a,在SIMULINK中有一个Robotics工具箱,您可以毫不费力地使用ROS。您可以毫无问题地订阅/发布到ROS主题。

另一答案

是的,它可以。

由Java WebSocket库支持的Matlab库

在GitHub上有一个几乎可行的MatlabWebSocket项目。使用包含的示例代码,您可以通过WebSocket建立连接和发送/接收消息。 MatlabWebSocket代码依赖于Java-WebSocket库并提供必要的回调代码。

我正在使用这个库,性能很棒。

Super simple Matlab client example

server = 'ws://echo.websocket.org';
client = SimpleClient(server);
client.send(char('Hello, world!'));

以上是关于MATLAB可以与websocket交谈吗?的主要内容,如果未能解决你的问题,请参考以下文章

VB.NET 与 Microsoft Access 交谈 - 可以进行回调吗?

有太多线程吗?

webSocket客服在线交谈

我可以让 Wireguard *** 对等方互相交谈吗?

matlab中保存tif图像堆栈能保留原图像格式吗

浏览器上的 WebSocket 客户端可以与 TCP Socket 服务器通信吗?