準備:操作系統xp兩臺pc, matlab為2011a版本(或以上)
網線直連,設置兩臺PC為同一局域網內(如192.168.1.101與192.168.1.102);
PC1:發端
>> data = membrane(1); %生成數據
>> s = whos('data'); %提取數據參數
>> tcpipServer = tcpip('0.0.0.0',55000,'NetworkRole','Server'); %設置對象屬性
>> set(tcpipServer,'OutputBufferSize',s.bytes); %設置緩存長度
>> fopen(tcpipServer); %打開對象
>> fwrite(tcpipServer,data(:),'double'); %寫入數據
PC2:收端
>> tcpipClient=tcpip('192.168.1.103',55000,'NetworkRole','Client')%設置對象屬性
>> set(tcpipClient,'InputBufferSize',7688); %設置緩存長度
>> set(tcpipClient,'Timeout',30); %設置連接時間
>> fopen(tcpipClient); %打開連接對象
>> rawData=fread(tcpipClient,961,'double'); %接收數據,為行向量
>> data1=reshape(rawData,31,31); %數據整理
>> surf(data1) %繪圖
注意:在PC1上打開對象時,若PC2連接對象尚未打開,則PC1 workspace中一直顯示busy,當PC2連接對象打開后,PC1中對象打開成功后,才可以寫入數據。
|