本文整理汇总了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;
}