#include #include #include #include #include #include #include #include "bson/bson.h" #define PORT_NO 8123 #define BUFLEN 1024 using namespace std; using namespace bson; int main(int argc, char* argv[]){ int sock, length, n; socklen_t fromlen; struct sockaddr_in server; struct sockaddr_in from; char buffer[BUFLEN]; sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock < 0){ perror("socket"); exit(EXIT_FAILURE); } length = sizeof(server); bzero(&server, length); server.sin_family = AF_INET; server.sin_port = htons(PORT_NO); server.sin_addr.s_addr = INADDR_ANY; if (bind(sock, (struct sockaddr *) &server, length) < 0){ perror("bind"); exit(EXIT_FAILURE); } fromlen = sizeof(struct sockaddr_in); bzero(&buffer, BUFLEN); while (true){ n = recvfrom(sock, buffer, BUFLEN, 0,(struct sockaddr *) &from, &fromlen); if (n < 0){ perror("recvfrom"); exit(EXIT_FAILURE); } mongo::BSONObj data(buffer); cout << data.toString() << endl; } cout << "Game Over!" << endl; exit(EXIT_SUCCESS); }