Matlab探寻(二):和Android进行TCPIP通信(java.net.Socket)
来源:互联网 发布:网络大电影拍摄时间 编辑:程序博客网 时间:2024/06/05 01:18
两个Matlab之间进行Tcpip通信是很简单的,直接调用matlab中的tcpip()函数就行了。但是由于项目需要,Matlab要和Android设备进行Tcpip通信,tcpip()函数就不能用了,所以本文在Matlab中调用java的类来实现。关于在matlab调用java类进行TCPip通信可以参考[TCP/IP Socket Communications in MATLAB using Java Classes]
客户端
Matlab作为客户端(client),Android设备作为服务器(server)。Matlab客户端函数如下:
function ClientSend(message) import java.net.Socket import java.io.* global client_socket global IsSocketOpened host = '172.22.37.3'; %%Android设备的IP地址 port = 8000; %%端口号 fprintf(1, 'connecting to %s:%d\n', host, port); try if IsSocketOpened == 0 client_socket = Socket(host, port); IsSocketOpened = 1; end output_stream = client_socket.getOutputStream; d_output_stream = PrintStream(output_stream); fprintf(1, 'Writing %d bytes\n', length(message)) d_output_stream.println(message); catch if ~isempty(client_socket) client_socket.close; end s = lasterror pause(1); endend
这里调用了两个和TCPSocket有关的java类 java.net.Socket 和 java.io.*。该函数最终实现的功能是:给Android发送字符串数据,函数的输入量即为要发送的数据
主函数
在matlab里调用上面的客户端函数,代码如下:
global client_socketglobal IsSocketOpenedclient_socket = [];IsSocketOpened = 0;while true a = input('input your command:','s'); ClientSend(a); pause(1);end
这里定义了两个全局变量client_socket和IsSocketOpened,主要是防止客户端重复连接。
运行结果
下载个Android“网络调试助手”,Android和Matlab处于同一局域网,配置Android设备为tcp server,注意地址和端口号。我这里是“172.22.37.3:8000”。
运行Matlab程序,输入我们要发送的字符串:
可以看到Android设备接收到了我们从Matlab发送过来的数据:
到这里,我们就成功实现了Matlab和Android设备的TCPIP通信!接下来就可以自己编写Android代码,同时实现和Matlab的双向通信。
Well done!
- Matlab探寻(二):和Android进行TCPIP通信(java.net.Socket)
- Android上JAVA Socket通信解析(二)多线程通信
- java Socket通信(二)
- Java Socket 通信 (二)
- java 网络编程(二)TCPIP+BIO
- android的NDK和java进行本地socket通信
- android的NDK和java进行本地socket通信
- android的NDK和java进行本地socket通信
- Socket浅析通信原理和java编程(二)
- (windows和linux进行socket通信)
- Matlab和java间socket通信
- Android之服务(二)活动和服务进行通信
- Matlab探寻(一):控制鼠标和模拟键盘(java.awt.Robot)
- Java 之Socket通信(二)
- android/java 与 c#进行socket通信
- vc++ 与 android/java 进行socket通信
- C++和android进行socket通信小结
- c 和 java 通过 socket 进行通信
- 前端性能优化(CSS动画篇)
- 多级类元素获取内容
- 阿里云Ubuntu16.04下mysql的安装及远程连接配制
- 基于SSM的RBAC权限系统(3)-Shiro基于非注解的基础使用
- scala读取HDFS文件,每次读取一定的字节数
- Matlab探寻(二):和Android进行TCPIP通信(java.net.Socket)
- PowerDesigner设计表时显示注释列Comment
- HDU
- linux下find查找命令用法
- Qt Quick学习---------------构建一个简单的qml程序
- 成员初始化列表
- php环境搭建
- 我终于开通我的博客啦!
- C++-对象继承内存模型配图