From: Tim H. <tim...@or...> - 2007-09-25 03:20:01
|
Lee, Perhaps this will help: We modified the file "FGfdmSocket.cpp" as follows (beginning around line #64): '========================================= if (address.find_first_not_of("0123456789.",0) != address.npos) { if ((host = gethostbyname(address.c_str())) == NULL) { cout << "Could not get host net address by name..." << endl; } } else { unsigned int addr; addr = inet_addr(address.c_str() ); // MODIFIED to accept xxx.xxx.xxx.xxx ip addresses - Orion Networking - 20070816 // if ((host = gethostbyaddr(address.c_str(), address.size(), PF_INET)) == NULL) { if ((host = gethostbyaddr((char *) &addr, address.size(), PF_INET)) == NULL) { cout << "Could not get host net address by number..." << WSAGetLastError() << endl; } } if (host != NULL) { cout << "Got host net address..." << endl; sckt = socket(AF_INET, SOCK_STREAM, 0); if (sckt >= 0) { // successful memset(&scktName, 0, sizeof(struct sockaddr_in)); scktName.sin_family = AF_INET; scktName.sin_port = htons(port); memcpy(&scktName.sin_addr, host->h_addr_list[0], host->h_length); int len = sizeof(struct sockaddr_in); // MODIFIED to accept xxx.xxx.xxx.xxx ip addresses - Orion Networking - 20070816 int socketErr=0; socketErr = connect(sckt, (struct sockaddr*)&scktName, len); if (socketErr == 0) { // successful cout << "Successfully connected to socket for output ..." << endl; connected = true; } else { // unsuccessful cout << "Could not connect to socket for output ..." << WSAGetLastError() << endl; } } else { // unsuccessful cout << "Could not create socket for FDM output, error = " << errno << endl; } } '========================================= -- Tim _____ From: jsb...@li... [mailto:jsb...@li...] On Behalf Of Lee Duke Sent: Monday, September 24, 2007 9:03 PM To: JSBSim development issues Subject: Re: [Jsbsim-devel] Output sockets Jon, Thanks. I've got the source code for netcat already. I'm just looking for a way to avoid having to soret around in it. And this way, if someone shares the code with me, everyone will end up with some good information. Lee Jon S. Berndt wrote: Does anyone have a simple example of how to capture/connect to a JSBSim output socket in C++? I've figure out how to interface to the input socket from a C++ program, but for some reason connecting to the output socket has eluded me. I can make the connection using Linux system commands--- nc -l localhost 1138 works exactly as what I would like. Thanks for any help you can give me. Lee It's been a long time since I've done sockets, but when writing a socket listening program (as I recall), you're not guaranteed to get a particular amount of data each time you access the socket. You might also get more than you are expecting, so you have to keep reading the data until there's no more there. Hopefully, someone out there can supply a simple listener application. If not, the source code for netcat can reportedly be found here: (See: http://www.vulnwatch.org/netcat/index.html) http://www.vulnwatch.org/netcat/nc110.tgz Jon ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Jsbsim-devel mailing list Jsb...@li... https://lists.sourceforge.net/lists/listinfo/jsbsim-devel _______________________________________________ The JSBSim Flight Dynamics Model project http://www.JSBSim.org _______________________________________________ |