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


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

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


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

示例1: main

int main ( int argc, int argv[] )
{

  LaserDriver LD;
  std::cout << "running....\n";

  try
    {
      // Create the socket
      ServerSocket server ( 30000 );

      vector< vector< int > > points;

      while ( true )
	{

	  ServerSocket new_sock;
	  server.accept ( new_sock );
         	 server.set_non_blocking( false );

	string buffer = "";

	  try
	    {
	      while ( true ){
	      	points.erase( points.begin(), points.begin()+points.size());
	                  cout << "here1" << endl;
	                  std::string line = "";
	                  //std::string buffer="";
		  int x, y;
		while( true ){
		  new_sock >> buffer;
		  stringstream bss;
		  bss << buffer;

		  int sentinel = 0;
		  int prev_numb = 0;
		  int number = 0;
		  bool first = true;
		  bool done = false;
		  while( bss >> sentinel ){
			bss >> number;
		  	if (sentinel < 0 || number < 0){
				done = true;
		  		break;
		  	}

		  	else{
		  		vector<int> pts;
		  		pts.push_back(sentinel);
		  		pts.push_back(number);
		  		points.push_back(pts);
		  	}
		  }
		  if( done )
			break;
		}



	                  // if( line.length() > 0 ){
	                  //     cout << "reading..." << endl;
	                  //     points.erase( points.begin(), points.begin()+points.size() );
	                  //     std::stringstream ss;
	                  //     ss << line;
	                  //     while(ss >> y >> x){
	                  //          std::vector<int> pt;
	                  //          pt.push_back(x);
	                  //          pt.push_back(y);
	                  //          points.push_back(pt);
	                           // std::cout << x << " " << y << std::endl;
			           // LD.lSet(x,y);
	                  //     }
	                  //     cout << "done..." << endl;
	                  // }
	                  //  cout << "here2" << endl;

	                  for( int i=0 ; i<points.size() ; i++ ){
	                      cout << points.size() << endl;
	                      LD.lSet(points[i][0],points[i][1]);
	                      //delayMicroseconds(500);
	                  }
			  // std::cout << data << std::endl;
			  // new_sock << data;
		}
	    }
	  catch ( SocketException& ) {}

	}
    }
  catch ( SocketException& e )
    {
      std::cout << "Exception was caught:" << e.description() << "\nExiting.\n";
    }

  return 0;
}
开发者ID:egtoney,项目名称:HackNC,代码行数:97,代码来源:simple_server_main.cpp


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