matlab:作为TCP服务器,读取数据 V2版本

环境:WIN10专业版,64位。 matlab 2019.

本次改变了读取方式,修改读取char字符, 速度就很快了

核心改变如下:

dataReceive=fread(tcpip_server, tcpip_server.BytesAvailable, "char"); 

****

全部代码如下

% 按照下面的IP地址建立一个服务端,0.0.0.0地址可以监听所有的请求的IP地址,所以就不用再写客户端的IP了
tcpip_server= tcpip('0.0.0.0',6000,'NetworkRole','server');

%%同理,接收端也要设置个缓冲区才能存下发过来的数据。
tcpip_server.InputBuffersize=512;

%打开服务器,直到建立一个TCP连接才返回;
fopen(tcpip_server);

%发送给采集卡的启动指令
fwrite(tcpip_server,"com_start_ch1");
 

%读取数据。参数’tcpip_server.BytesAvailable/8‘代表着读取几个数据
xunhun_cishu=0;
 A=[48];
 try_times=400;
for i=1:try_times
    %pause(0.01);%每次读取之前等待0.02s,随意设置
    try     %因为fread()在缓冲区没有数据的时候读取会报错,因此用try—catch语句忽略这种错误,直到读取到数据。
        dataReceive=fread(tcpip_server, tcpip_server.BytesAvailable, "char"); 
        B=transpose(dataReceive);%数组转置
        disp(B);
         xunhun_cishu=xunhun_cishu+1;
        A = [A B];%数组拼接
    catch
        tcpip_server.ValuesReceived%查看读取出的数据数量,如果没有读到,返回0;
    end
end
fclose(tcpip_server);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值