当前位置: 首页>>代码示例>>C++>>正文


C++ socket::close方法代码示例

本文整理汇总了C++中boost::asio::ip::tcp::socket::close方法的典型用法代码示例。如果您正苦于以下问题:C++ socket::close方法的具体用法?C++ socket::close怎么用?C++ socket::close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在boost::asio::ip::tcp::socket的用法示例。


在下文中一共展示了socket::close方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

 ~WSClientImpl() override
 {
     ws_.close({});
     stream_.close();
     work_ = boost::none;
     thread_.join();
 }
开发者ID:yunsite,项目名称:rippled,代码行数:7,代码来源:WSClient.cpp

示例2:

inline connection::~connection()
{
    socket_m.close();
    
    read_thread_m.join();
    send_thread_m.join();
}
开发者ID:Palmik,项目名称:Boost.IRC,代码行数:7,代码来源:connection.hpp

示例3: DoConnect

//===========================================================================
void CHttpClient::DoConnect (
    const boost::system::error_code &        err,
    boost::asio::ip::tcp::resolver::iterator iter
) {
    if (err) {
        if (iter != boost::asio::ip::tcp::resolver::iterator()) {
            m_socket.close();
            boost::asio::ip::tcp::endpoint endPoint = *iter;
            auto handler = boost::bind(
                &CHttpClient::DoConnect,
                this,
                boost::asio::placeholders::error,
                ++iter
            );
            m_socket.async_connect(endPoint, handler);
        } else {
            printf("%s\n", __FUNCTION__);
            cout<<"Error: "<<err.message()<<endl;
        }
        return;
    }

    auto handler = boost::bind(
        &CHttpClient::DoWriteRequest,
        this,
        boost::asio::placeholders::error
    );
    boost::asio::async_write(m_socket, m_request, handler);
}
开发者ID:hellojaewon,项目名称:study,代码行数:30,代码来源:HttpClient.cpp

示例4: Run

	int Run()
	{
		// ----------- Thread_TcpCommClient_Recv -----------

		int iParam1 = 0;
		pthread_t pthread_TcpCommClient_Recv;
		if(pthread_create(&pthread_TcpCommClient_Recv, NULL, Thread_TcpCommClient_Recv, (void*)this) != 0)
		{
			printf("Failed:Thread_TcpCommClient_Recv\n");
		}
		else
		{
			printf("Initiate:Thread_TcpCommClient_Recv\n");
			usleep(100000);
		}


		// ----------- Thread_TcpCommClient_Send -----------

		int iParam2 = 0;
		pthread_t pthread_TcpCommClient_Send;
		if(pthread_create(&pthread_TcpCommClient_Send, NULL, Thread_TcpCommClient_Send, (void*)this) != 0)
		{
			printf("Failed:Thread_TcpCommClient_Send\n");
		}
		else
		{
			printf("Initiate:Thread_TcpCommClient_Send\n");
			usleep(100000);
		}


		while( ros::ok() )
		{
			ros::spinOnce();
			usleep(30000);
		}

		if( m_Socket.is_open() )
		{
			m_Socket.close();
		}

		return 0;
	}
开发者ID:sshuh,项目名称:mcl3d,代码行数:45,代码来源:client_test.cpp

示例5: doReadHeader

	void doReadHeader(){
		boost::asio::async_read(_socket,
				boost::asio::buffer(_data, sizeof(MktDataGlobalHeaderMsg) + sizeof(char)),
				[this](boost::system::error_code ec, std::size_t length)
				{
			if (!ec)
			{

				MktDataGlobalHeaderMsg* header = new MktDataGlobalHeaderMsg;
				memcpy((void*)header, (void*)(_data), sizeof(MktDataGlobalHeaderMsg));
				char* msgType = new char;
				memcpy((void*)msgType, (void*)(_data + sizeof(MktDataGlobalHeaderMsg)), sizeof(char));
				std::cout << " Packet#: " << ++pcount << std::endl;
				doReadBody(header, msgType);
			}
			else
			{
				std::cout << "Exception comes - Socket Closed. " << std::endl;
				_socket.close();
			}
				});
	}
开发者ID:ankithbti,项目名称:OrderBookSketch,代码行数:22,代码来源:Subscriber.hpp

示例6: disconnect

	virtual void disconnect() {
		try {
			socket_.close();
		} catch (std::exception& e) { }
	}
开发者ID:Neoracle,项目名称:socket-session-retainer,代码行数:5,代码来源:session.hpp

示例7: close_socket

				void close_socket()
				{
					BOOST_CHECK_NO_THROW( socket_.close() );
					BOOST_CHECK_NO_THROW( acceptor_.close() );
				}
开发者ID:nick0lay,项目名称:cpp_craft_1013,代码行数:5,代码来源:async_tcp_client_tests.cpp

示例8:

 ~Client() {
     if (mSocket.is_open()) mSocket.close();
 }
开发者ID:tellproject,项目名称:microbench,代码行数:3,代码来源:Client.hpp

示例9: doReadBody

	void doReadBody(MktDataGlobalHeaderMsg* header, char* msgType){

		switch(*msgType){
		case 'N':
		case 'M':
		case 'X':
		case 'G':
		case 'H':
		case 'J':
		{
			boost::asio::async_read(_socket,
					boost::asio::buffer(_data, sizeof(MktDataOrderMsg)),
					[this, &header, &msgType](boost::system::error_code ec, std::size_t length)
					{
				if(!ec){
					MktDataOrderMsg* body = new MktDataOrderMsg;
					memcpy((void*)body, (void*)_data, sizeof(MktDataOrderMsg));
					Order::SharedPtr order(new SimpleOrder(*header, *msgType, *body));
					{
						std::string str;
						try{
							LatencyChecker<> lc(str);
							_orderBookManager.addOrder(order);
						}catch(const std::runtime_error& err){
							std::cout << " Exception " << err.what() << std::endl;
						}
						order->toString(str);
						_orderBookManager.printOrderBookForSymbol(str, body->_toeknNo);
						_logger.log(std::move(str));
					}

					delete body;

					doReadHeader();
				}else{
					std::cout << "Exception comes - Socket Closed. " << std::endl;
					_socket.close();
				}
					});

		}
		break;
		case 'T':
		case 'K':
		{
			boost::asio::async_read(_socket,
					boost::asio::buffer(_data, sizeof(MktDataTradeMsg)),
					[this, &header, &msgType](boost::system::error_code ec, std::size_t length)
					{
				if(!ec){
					MktDataTradeMsg* body = new MktDataTradeMsg;
					memcpy((void*)body, (void*)_data, sizeof(MktDataTradeMsg));
					Trade::SharedPtr trade(new SimpleTrade(*header, *msgType, *body));

					{
						std::string str;
						try{
							LatencyChecker<> lc(str);
							_orderBookManager.addTrade(trade);
						}catch(const std::runtime_error& err){
							std::cout << " Exception " << err.what() << std::endl;
						}
						trade->toString(str);
						_orderBookManager.printOrderBookForSymbol(str, body->_toeknNo);
						_logger.log(std::move(str));
					}
					delete body;

					doReadHeader();
				}else{
					std::cout << "Exception comes - Socket Closed. " << std::endl;
					_socket.close();
				}
					});
		}
		break;
		default:
			std::cout << " Error: Unknown Packet comes.... " << std::endl;
			break;
		}
	}
开发者ID:ankithbti,项目名称:OrderBookSketch,代码行数:81,代码来源:Subscriber.hpp

示例10: refuseAccept

void Server::refuseAccept(boost::asio::ip::tcp::socket socket)
{
    socket.close();
}
开发者ID:longshadian,项目名称:estl,代码行数:4,代码来源:Server.cpp


注:本文中的boost::asio::ip::tcp::socket::close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。