⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iosocketstreamtest.cpp

📁 robocup 2D防真base平台 是运行/开发防真机器人的必备平台
💻 CPP
字号:
// -*-c++-*-/***************************************************************************       iosocketstreamtest.cpp  - A rcss::IOSocketStream testing program                              -------------------    begin                : 17-Mar-2003    copyright            : (C) 2003 by The RoboCup Soccer Server                            Maintenance Group.    email                : sserver-admin@lists.sourceforge.net ***************************************************************************//*************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU GPL as published by the Free Software   * *   Foundation; either version 2 of the License, or (at your option) any  * *   later version.                                                        * *                                                                         * ***************************************************************************/#include <cppunit/extensions/HelperMacros.h>#include "rcssbase/net/udpsocket.hpp"#include "rcssbase/net/tcpsocket.hpp"#include "rcssbase/net/iosocketstream.hpp"class TestIOSocketStream : public CPPUNIT_NS::TestFixture{    CPPUNIT_TEST_SUITE(TestIOSocketStream);	CPPUNIT_TEST(UDPBiDirReadWrite);	CPPUNIT_TEST(TCPBiDirReadWrite);    CPPUNIT_TEST_SUITE_END();protected:    //--------------------------------------------------------------------------    /// XXX: Document what the test is for here.    //--------------------------------------------------------------------------	void UDPBiDirReadWrite();	void TCPBiDirReadWrite();	public:    TestIOSocketStream()	{}	    ~TestIOSocketStream()	{}};CPPUNIT_TEST_SUITE_REGISTRATION( TestIOSocketStream );using namespace rcss::net;voidTestIOSocketStream::UDPBiDirReadWrite() {    Addr a_addr( 6001 ), b_addr( 6000 );    a_addr.setHost( "localhost" );    b_addr.setHost( "localhost" );    UDPSocket a_sock( a_addr ), b_sock( b_addr );    IOSocketStream a( a_sock, b_addr ), b( b_sock, a_addr );    std::string input( "This_is_a_test_message" );    std::string output;    a << input << std::endl;    b >> output;    CPPUNIT_ASSERT_EQUAL( input, output );    output = "";    b << input << std::endl;    a >> output;    CPPUNIT_ASSERT_EQUAL( input, output );}voidTestIOSocketStream::TCPBiDirReadWrite() {    Addr a_addr( 6001 ), b_addr( 6000 );    a_addr.setHost( "localhost" );    b_addr.setHost( "localhost" );    TCPSocket a_sock( a_addr ), b_sock( b_addr );    a_sock.listen( 1 );    b_sock.connect( a_addr );    TCPSocket to_b_sock;    a_sock.accept( to_b_sock );    IOSocketStream a( b_sock ), b( to_b_sock );    std::string input( "This_is_a_test_message" );    std::string output;    a << input << std::endl;    b >> output;    CPPUNIT_ASSERT_EQUAL( input, output );    output = "";    b << input << std::endl;    a >> output;    CPPUNIT_ASSERT_EQUAL( input, output );}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -