how to read LAN data's in m-file

hi,
I sent data from my pc to another pc, only the values sent shows the data. while i am reading in another pc, its not getting read. where sholud i do the mistake?
t=tcpip('192.168.1.4',80) // another pc name
bytesToRead=50;
t.BytesAvailableFcnMode='byte'
t.BytesAvailableFcnCount=bytesToread
fopen(t)
pause(3)
fwrite(t,1:255)
pause(3)
fclose(t)
now, in inspector element, i can see changes in valuesent=255 whereas, the same program only i did in another pc for reading
t=tcpip('192.168.1.4',80) // another pc name
bytesToRead=50;
t.BytesAvailableFcnMode='byte'
t.BytesAvailableFcnCount=bytesToread
fopen(t)
pause(3)
fread(t,255)
pause(3)
fclose(t)
instead of writing. but, there i am not able to see changes in inspector element.how should i do this?

 採用された回答

Walter Roberson
Walter Roberson 2012 年 7 月 30 日

0 投票

t=tcpip('192.168.1.4',80) is the command to use on a "client" (the one that initiates the conversation) that needs to connect to a "server" (the one that the conversation is initiated to.)
So it is fine to use it on the first PC to start the conversation to the second PC (provided the second PC's IP address is 192.168.1.4), but when you use it on the second PC, if the second PC really is 192.168.1.4, it would be a request to connect from the second PC's MATLAB to the second PC's web server. On the second PC, you need to instead use a tcpip() command indicating that you want to receive conversations. See the text starting with "Start a TCP/IP server socke" over in http://blogs.mathworks.com/loren/2011/05/27/transferring-data-between-two-computers-using-matlab/

その他の回答 (3 件)

Deepa Darshan
Deepa Darshan 2012 年 7 月 31 日
編集済み: Walter Roberson 2012 年 7 月 31 日

1 投票

I have developed the code based on m-file,not on the instrument control toolbox. also, if i use instrumnet control toolbox, can i read and write data between different pc's?

1 件のコメント

Walter Roberson
Walter Roberson 2012 年 7 月 31 日
The command tcpip() is not part of basic MATLAB: it is part of the Instrument Control Toolbox.
Your version of MATLAB has an Instrument Control Toolbox which is too old to support acting as a TCP server. To communicate between PCs, you need to do one of:
  1. switch to udp instead of tcp; or
  2. switch to the File Exchange contribution "tcpupdip"; or
  3. upgrade your MATLAB and Instrument Control Toolbox version

サインインしてコメントする。

Deepa Darshan
Deepa Darshan 2012 年 7 月 30 日
編集済み: Walter Roberson 2012 年 7 月 30 日

0 投票

hi,
Thanks for your kind reply. somehow, i got an idea now, also i tried.But the thing is, i am using R2010a.
here, the tcpip('ipaddress',port) only this facility available. whereas, in the given link, they suggest to use
tcpip('ipadress',port,'NetworkRole',server)
this format, which is not available in R2010a. also, i am getting an warning like,
specified amount of data was not returned within the timeout period.
how much time, should i give,hope it depends on data only know? what else is the problem in the given code?
t=tcpip('192.168.1.1',80)
set(t,'InputBufferSize',1000);
set(t,'TimeOut',30);
fopen(t);
z=fread(t,25);
fclose(t)
this i am checking to read data's from server directly, not between pc's.
how to read from server directly?
regards,
chinny

1 件のコメント

Walter Roberson
Walter Roberson 2012 年 7 月 30 日
R2010a cannot act as a TCP server when you use the Instrument Control Toolbox. It can receive UDP but not TCP.
The work-around is to use the MATLAB File Exchange contribution named "tcpudpip"

サインインしてコメントする。

Deepa Darshan
Deepa Darshan 2012 年 8 月 4 日

0 投票

ok, let me try it..
thanks, chinny

カテゴリ

ヘルプ センター および File ExchangeInstrument Control Toolbox Supported Hardware についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by