Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
792 Views

global TCP socket issue

Hi, 

 

I need a bit of help...  

 

I have started from the simple socket server example and because I need the connection information in a parallel task, I have moved the  

"static SSSCon conn" declaration from the SSSSimpleSocketServerTask() outside of the function declaration. 

 

//outside, global static SSSConn conn; void SSSSimpleSocketServerTask() { int fd_listen, max_socket; struct sockaddr_in addr; //static SSSConn conn; //moved outside ... sss_reset_connection(&conn); ... send_sss_message(&conn); ... return; } void myTask(SSSCon* conn){ char *welcome = "Welcome from custom task!"; send(conn->fd, welcome, 25, 0); printf("Connection status: %d", conn->fd); }  

 

:cry: Unfortunatelly myTask is seing an invalid connection. However the SSSSimpleSocketServerTask is working properly, as before moving the conn declaration outside. 

 

What am I doing wrong? (I am not a true SW developer, I mainly deal with FPGA so pardon my basic mistakes...) 

 

Thanks!
0 Kudos
1 Reply
Altera_Forum
Honored Contributor I
33 Views

Got it! 

 

I should not feed any arguments to myTask, simply reference to the global ressource conn. 

Confusing was the fact that, when not fed as an argument, the structure is to be accessed as 

conn.fd  

instead of  

conn->fd  

(not clear why?)
Reply