#ifndef _EXTERNAL_NET_HXX
#define _EXTERNAL_NET_HXX
+#include <plib/netBuffer.h>
#include <plib/netSocket.h>
+#include <Network/raw_ctrls.hxx>
+#include <Network/net_fdm.hxx>
+
#include "flight.hxx"
+class HTTPClient : public netBufferChannel
+{
+public:
+
+ HTTPClient ( cchar* host, int port, cchar* path ) {
+ open ();
+ connect (host, port);
+
+ cchar* s = netFormat ( "GET %s HTTP/1.0\r\n\r\n", path );
+ bufferSend( s, strlen(s) ) ;
+ }
+
+ virtual void handleBufferRead (netBuffer& buffer)
+ {
+ const char* s = buffer.getData();
+ while (*s)
+ fputc(*s++,stdout);
+
+ printf("done\n");
+ buffer.remove();
+ printf("after buffer.remove()\n");
+ }
+};
+
+
class FGExternalNet: public FGInterface {
private:
- int data_port;
+ int data_in_port;
+ int data_out_port;
int cmd_port;
- string host;
+ string fdm_host;
netSocket data_client;
netSocket data_server;
bool valid;
+ FGRawCtrls ctrls;
+ FGNetFDM fdm;
+
public:
// Constructor
- FGExternalNet::FGExternalNet( double dt );
+ FGExternalNet::FGExternalNet( double dt,
+ string host, int dop, int dip, int cp );
// Destructor
FGExternalNet::~FGExternalNet();
void init();
// update the fdm
- bool update( int multiloop );
+ void update( double dt );
};
#endif // _EXTERNAL_NET_HXX
-
-