MATLAB使用TCPIP协议传输矩阵1 .简单介绍2 .代码示例3 .使用说明4 .结果展示5 .多点赞哦!
1 .简要介绍
其实以前的博文已经介绍了TCPIP通信的基本方法,但还是有很多同学在问如何转发矩阵。 现在让我们来解答大家的疑问。
矩阵传输的作用:1.简单传输实验的数据矩阵2 .图像数据的传输
2 .代码示例服务器端代码:
%%远程主机是localhost或本地主机,本地端口为30000,服务器使用server=tcpip ',30000,' NetworkRole ',' server '。 %%设置发送和接收缓冲区的最大容量。 在此设定1000*1000*8,即1000*1000的双精度阵列大小server.input buffer size=80000000。 server.output buffer size=8000000; 打开%%连接,等待本地端口与fopen (服务器)对接。 %%查询是否收到的消息,如果收到,在发出警告后,循环while(1) if server.bytes available0disp (' thenumofbytesreceivedis 3360 ) 结尾% %将接收缓冲区的消息。 其中ButesAvailable的值表示接收到的字节数,并将其转换为双精度类型。 8数据recv=fread (server,server.BytesAvailable/8,“double”除外%%必须重新组织收到的信息,将其转换为10*10的矩阵,然后返回矩阵薄膜晶体管(thematrixreceivedis : ); 矩阵; %%任务已完成。 关闭服务器fclose (服务器)。 客户端代码:
%%远程主机是localhost或本地主机,目标端口为30000,使用client=tcpip ',30000,' NetworkRole ',' client '作为客户端。 %%设置发送和接收缓冲区的最大容量。 在此设定1000*1000*8,即1000*1000的双精度阵列大小client.input buffer size=80000000。 client.output buffer size=8000000; 打开%%连接并查找所需的服务器。 如果找不到,则报告fopen (客户端)。 %%将生成要发送的数据。 dataSend是一个向量,reshape使矩阵矩阵数据=sin (13360100 )。 矩阵=reshape (datasend,[ 10,10 ]; disp (' thematrixwhichwillbesentoutis : ); 矩阵; %%将数据发送到服务器。 这里首先需要将矩阵转换为向量。 方法使用矩阵(: ),可以正常发送。 fwrite (客户端,矩阵) 3360 )、' double ); %%任务已完成。 客户端fclose (客户端); 因为觉得评论很明确,所以不做说明。 如果有问题的话请转到评论区
3 .使用说明这里保持本地主机之间的通信状态,打开两个matlab,分别创建新文件,分别复制服务器和客户端代码。
服务器:
客户端:
首先运行服务器,然后运行客户端。
4 .结果显示客户端结果:
服务器端结果:
您可以看到任务已完成,而不会丢失或更改数据。
5 .多称赞评论哦!