コード例 #1
0
ファイル: simple_server_main.cpp プロジェクト: egtoney/HackNC
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;
}