Creating a TCP Server MEX file

Has anybody tried to create a mex file running as a tcp server? I'm trying to get rid of the error below and build a MEX file out of it.
I'm getting an error from my code generation report using matlab-coder to generate a mex file:
  • Found unsupported global data initialization class for global variable 'interfaceObject'.MATLAB class 'tcpip' found at 'interfaceObject' is unsupported.*
The code is something like this:
function TempStream_Live_D %#codegen
global interfaceObject
IP_to_track = '192.168.194.185';
coder.extrinsic('tcpip');
interfaceObject = tcpip(IP_to_track,2101,'NetworkRole','server');
...
Here's the hyperlink of the example tcpip-server file I edited from: http://www.mathworks.com/matlabcentral/fileexchange/345

 Accepted Answer

Kaustubha Govind
Kaustubha Govind on 19 Nov 2012
I'm not sure if there is a workaround to this, since it looks like MATLAB Coder does not support the 'tcpip' class for code-generation. In any case, if you have to make coder.extrinsic calls every time you have to use the interface object, which essentially dispatches the call to MATLAB engine, is there any advantage of creating a MEX-file?

2 Comments

You are right! Your question prompts me to do some thinking should I even use MATLAB coder to optimize my code when in fact, all I want to do is just generate a standalone executable.. Now, I've abandon the optimizing idea. Thanks for your input :)
have you solved this problem? I am also facing this problem. The TCPIP class can not be supported in sfunction. How to use the m-code of server and client, to realise the communication in the different simulinks through local network then?

Sign in to comment.

More Answers (1)

Antoine Steiblen
Antoine Steiblen on 28 Jun 2016
I have just run into this problem, any solutions since this post?

2 Comments

Denz Choe
Denz Choe on 29 Jun 2016
Edited: Denz Choe on 29 Jun 2016
Gosh, this is so long ago.. I did find a solution I think.. But I did not pursue with Matlab Coder. Let me see if I can dig up the files
Denz Choe
Denz Choe on 29 Jun 2016
Edited: Denz Choe on 29 Jun 2016
Ok, I managed to find my codes.. But first; let me re-iterate, I did not pursue to build a MEX file with Matlab Coder.
The TCP Server I generated was an EXE file, using the Matlab Compiler instead. So it may not be a solution that you are looking for. Kaustubha Govind asked me what was the benefit of creating a MEX-File, and I couldn't find an answer, since what I actually wanted was to create a standalone EXE program.
To understand the difference between Matlab Compiler and Matlab Coder for EXE file or MEX file generation (in respective order); see the response from Kaustubha Govind https://www.mathworks.com/matlabcentral/answers/23369#answer_30714

Sign in to comment.

Categories

Find more on MATLAB Coder in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!