【发布时间】:2015-10-31 02:02:33
【问题描述】:
我是 MATLAB 新手,正在从事我的工程最后一年项目。我想创建一个 TCP/IP 会话,在服务器会话和客户端会话之间发送数据。
我的服务器会话的代码:
data = (1:10);
t = tcpip('localhost', 30000, 'NetworkRole', 'server');
fopen(t);
fwrite(t, data);
我的客户会话的代码:
t = tcpip('0.0.0.0', 30000, 'NetworkRole', 'client');
fopen(t);
data = fread(t, t.BytesAvailable);
disp(data);
我打开了两个 MATLAB 窗口并运行它们,首先是服务器。服务端程序在没有连接到客户端的情况下继续运行:
>> tcpserver
而客户端程序报错:
>> tcpclient
Error using icinterface/fread (line 163)
SIZE must be greater than 0.
Error in tcpclient (line 3)
data = fread(t, t.BytesAvailable);
【问题讨论】:
-
您是否尝试将
0.0.0.0用于服务器,将localhost用于客户端?对我来说,这似乎是错误的方式...... -
@dasdingonesin 谢谢!那行得通....现在我对我的真正任务有疑问....我正在创建一个新帖子。请帮帮我!
标签: matlab session network-programming tcp-ip