本文整理汇总了C++中WebSocket::poll方法的典型用法代码示例。如果您正苦于以下问题:C++ WebSocket::poll方法的具体用法?C++ WebSocket::poll怎么用?C++ WebSocket::poll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebSocket
的用法示例。
在下文中一共展示了WebSocket::poll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main( int argc, const char** argv )
{
int camera_number = 0;
char socket_url[512];
TopCodeScanner scanner;
WebSocket *socket = NULL;
if (argc < 2) {
cerr << "expected: " << argv[0] << " <camera_number> [socket server]" << endl;
cerr << " example: > topcodes 0 ws://localhost:8126/topcodes" << endl;
return -1;
}
// get the camera number
camera_number = atoi(argv[1]); // 0 if error
if (argc >= 3) {
socket = WebSocket::from_url(argv[2]);
} else {
socket = WebSocket::from_url("ws://localhost:8126/topcodes");
}
// open the default camera
VideoCapture cap(camera_number);
if (!cap.isOpened()) {
cerr << "Error: Unable to open webcam " << camera_number << endl;
return -1;
}
for(;;)
{
Mat frame, grey, flipped;
// capture the next still video frame
cap >> frame;
// flip the image horizontally so that it gives you a mirror reflection
flip(frame, flipped, 1);
// convert to greyscale
cvtColor(flipped, grey, CV_RGB2GRAY);
// scan for topcodes
vector<TopCode*> *codes = scanner.scan(grey);
// send topcode info through the websocket
if (socket) {
string json = "[\n";
for (int i=0; i<codes->size(); i++) {
TopCode *code = (*codes)[i];
json += (" " + code->toJSON() + ",\n");
}
json += "]";
socket->send(json);
socket->poll();
socket->dispatch(handle_message);
}
// show the resulting image (debuggin)
imshow("webcam", grey);
// press the 'q' key to quit
if (waitKey(30) >= 0) break;
}
if (socket) delete socket;
}