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


C++ ServerSocket::readLine方法代码示例

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


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

示例1: handleConnection

void IncomingProxy::handleConnection(ServerSocket &connection) {
  try {
    string requestLine = connection.readLine();
	requestLine = util::cleanupRequestLine(requestLine);
    string header = requestLine + "Connection: close\r\n";

	//Read header
    while (true) {
      string s = connection.readLine();
      if (s.find("Connection") == 0) continue;
      header += s;
      if (s == "\n" or s == "\r\n") break;
    }

	map<string, string> headers = util::extractHeaders(header);
	
	//Be careful, the requestLine is modified when calling findHost.
	//That is the intended behaviour.
	pair<string, int> newHost = findHost(requestLine);
	
	cout << "# [Incoming] '" << util::removeTrailingLineBreaks(requestLine)
	 						 << "' at " << newHost.first << ":" << newHost.second << endl;
	
	headers["Host"] = newHost.first;
	header = requestLine + util::assembleHeaders(headers);	

    ClientSocket webserver(newHost.first, newHost.second);
    webserver << header;
 	cout << header;

 	Socket::relay_connection(connection, webserver);

    webserver.~ClientSocket();
    connection.~ServerSocket();
  }
  catch (SocketException& e)  {
    cout << "# [Incoming] Exception: " << e.description() << endl;
  }
  catch (char * s){
    cout << "# [Incoming] Exception: " << s << endl;						
  }
}
开发者ID:acadavid,项目名称:proxydo,代码行数:42,代码来源:IncomingProxy.cpp


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