MATLAB实现TCP/IP的简单通信

非常简单的TCP/IP通信尝试,因为电脑只有一台,就只是试了一下本地通信,有机会试了远程主机通信,再来补充。

(注意:可以直接看最下面最后一次更改,上面相当于是试错,最后的简单又效率高)

1. 首先,建立服务器,代码如下:

t_server=tcpip('0.0.0.0',30000,'NetworkRole','server');%与第一个请求连接的客户机建立连接,端口号为30000,类型为服务器。
fopen(t_server);%打开服务器,直到建立一个TCP连接才返回;
try_times=100;%尝试读取缓冲区数据的次数,可随意设置;
for i=1:try_times
    pause(0.02);%每次读取之前等待0.02s,随意设置
    try     %因为fread()在缓冲区没有数据的时候读取会报错,因此用try—catch语句忽略这种错误,直到读取到数据。
        data_recv=fread(t_server,t_server.BytesAvailable);%从缓冲区读取数字数据
        %%%%%%%%% data_recv=fscanf(t_server); %接收文本数据
    catch
        t_server.ValuesReceived%查看读取出的数据数量,如果没有读到,返回0;
    end
end

2. 其次,建立客户机,代码如下:

t_client=tcpip('localhost',30000,'NetworkRole','client');%与本地主机建立连接,端口号为30000,作为客户机连接。
fopen(t_client);%与一个服务器建立连接,直到建立完成返回,否则报错。
data_send=sin(1:64);%发送的数字数据。
%%%%%%%% txt_send='HELLO'; %发送的文本数据
pause(1);%等待连接稳定,随意设置。
fwrite(t_client,data_send);%写入数字数据
%%
评论 92
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值