我想使用socket建立服务器(Java)/客户端(Matlab)通信。他们可以互相发送消息。一个示例显示了如何在Java服务器和Java客户端http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html中执行此操作。
当我尝试在Matlab中重写客户端部分时,我只能获得Java服务器发送的第一条消息,并在Matlab命令窗口中显示它。
当我在Matlab命令窗口中输入消息时,我无法将其传递给Java Server。
Jave代码:
kkSocket = new Socket("localhost", 3434);
Matlab等价物:
kkSocket = Socket('localhost', 3434);
客户端的Java代码:
out = new PrintWriter(kkSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream()));
Matlab相当于什么?提前致谢。
答案 0 :(得分:1)
对于输入流:
input_stream = input_socket.getInputStream;
d_input_stream = DataInputStream(input_stream);
对于输出流:
output_stream = output_socket.getOutputStream;
d_output_stream = DataOutputStream(output_stream);
答案 1 :(得分:0)
如果您尝试在同一台计算机上使用MATLAB和Java应用程序,那么matlabcontrol可能会执行您要查找的所有内容。它自动建立与MATLAB会话的连接。它使用了Java的Remote Method Invocation,它使用了套接字。 matlabcontrol专门用于在localhost上启用通信;由于可能允许的安全问题,它创建的套接字将不接受远程连接。但是,如果您需要允许远程连接,您可能会发现matlabcontrol's source code的某些部分很有用。