// Written by Curtis Olson, started November 1999.
// Modified by Bernie Bright <bbright@bigpond.net.au>, May 2002.
//
-// Copyright (C) 1999 Curtis L. Olson - curt@flightgear.org
+// Copyright (C) 1999 Curtis L. Olson - http://www.flightgear.org/~curt
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// $Id$
+#ifdef HAVE_CONFIG_H
+# include <simgear_config.h>
+#endif
#include <simgear/compiler.h>
#include <strings.h>
#endif
+#include STL_IOSTREAM
+
#include <simgear/debug/logstream.hxx>
#include "sg_socket.hxx"
client(0),
is_tcp(false),
is_server(false),
- first_read(false)
+ first_read(false),
+ timeout(0)
{
if (!init)
{
if (result > 0)
{
- if (is_tcp)
+ if (is_tcp && is_server)
{
result = client->recv( buf, length );
}
// read a chunk, keep in the save buffer until we have the
// requested amount read
- if (is_tcp)
+ if (is_tcp && is_server)
{
char *buf_ptr = save_buf + save_len;
result = client->recv( buf_ptr, SG_IO_MAX_MSG_SIZE - save_len );
if ( s->send( buf, length ) < 0 )
{
- SG_LOG( SG_IO, SG_ALERT, "Error writing to socket: " << port );
+ SG_LOG( SG_IO, SG_WARN, "Error writing to socket: " << port );
error_condition = true;
}
netSocket* writers[1];
writers[0] = 0;
- int result = netSocket::select( readers, writers, 0 );
+ int result = netSocket::select( readers, writers, timeout );
if (result > 0 && is_server && client == 0)
{