我正在运行一个程序,我使用仪器控制工具箱在一台机器上建立服务器和客户端连接到另一台机器,因此它或多或少地像对等连接一样。
代码在第一次在2台单独的机器上运行时运行良好,但有时它不会在第二次尝试时运行,或者如果我让Matlab打开并尝试运行它以后它将无法运行。我得到的只是一个程序试图找到服务器而另一个程序已经打开了服务器连接,但他们从未找到对方。
打开连接的代码(客户端代码非常相似):
function connectionServer = openRecieve(client, port)
t = tcpip(client, port, 'NetworkRole', 'Server');
set(t, 'InputBufferSize', 3000000);
% Open connection to the client.
fopen(t);
fprintf('%s \n','Client Connected');
connectionServer = t;
set(connectionServer,'Timeout',.1);
end
关闭连接的代码:
function closeConnection(connection)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
fclose(connection);
delete(connection);
clear connection;
end
我不认为它与Timeouts有任何关系,因为他们第一次连接和运行没有问题。
我还补充说:
clc
clear all
到我的程序结束和开始时,它仍然无法在第二次或第三次运行时连接。
感谢任何想法