本文整理汇总了C++中ServerSocket::SendData方法的典型用法代码示例。如果您正苦于以下问题:C++ ServerSocket::SendData方法的具体用法?C++ ServerSocket::SendData怎么用?C++ ServerSocket::SendData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServerSocket
的用法示例。
在下文中一共展示了ServerSocket::SendData方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char * argv[])
{
//Variables initialization:
int port = 54321;
string ipAddress;
string id = "user";
bool done = false;
char recMessage[STRLEN];
//Server
ServerSocket sockServer;
cout<<"Server started..."<<endl;
sockServer.StartHosting( port );
while ( true )
{
//Protocol to initiate communication with the client:
cout << "Prompting for login..." <<endl;
sockServer.SendData(stringToCharArray("LOGIN"));
sockServer.RecvData( recMessage, STRLEN );
if(checkName(recMessage, id) == false){
cerr << "Invalid User ID: '" << recMessage <<"'" << endl;
sockServer.SendData(stringToCharArray("UNWELCOME"));
sockServer.CloseConnection();
sockServer.Listen();
}else{
cout << "User '"<< recMessage << "' logged in successfully." << endl;
sockServer.SendData(stringToCharArray("WELCOME"));
while(!done){
sockServer.RecvData( recMessage, STRLEN );
cout<<"Received: > "<<recMessage<<endl;
if ( strcmp( recMessage, "QUIT")==0 ){
sockServer.CloseConnection();
sockServer.Listen();
//cout << "Connection closed. Exiting the program" << endl;
//return 0;
//done = true;
}else{
checkCommand(recMessage, sockServer);
}
}
}
}
return 0;
}
示例2: menuDisplay
void menuDisplay() {
if (!done) {
if ( choice == 2 )
{
sockClient.SendData(player1->getName());
cout<<"\t--WAIT--"<<endl;
sockClient.RecvData( recMessage, STRLEN );
cout<<"Recv > "<<recMessage<<endl;
player1->setName(name);
player2->setName(recMessage);
done = true;
recvd = true;
}
else if ( choice == 1 )
{
cout<<"\t--WAIT--"<<endl;
sockServer.RecvData( recMessage, STRLEN );
player1->setName(recMessage);
player2->setName(name);
cout<<"Recv > "<<recMessage<<endl;
sockServer.SendData(player2->getName());
done = true;
recvd = false;
}
}
glMatrixMode( GL_MODELVIEW ); // Setup model transformations
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix();
drawGLString(-0.5 , 0.5, 1, "Welcome to MiniGolf!");
drawGLString(-0.5 , 0.0, 1, "Press 'b' to Begin");
drawGLString(-0.5, -0.5, 1, "Press 'h' to display High Scores");
glPopMatrix();
}
示例3: display_obj
// display func
void display_obj()
{
updateCamera();
if(showScores){
showScores = false;
}
if (showMenu) {
menuDisplay();
}
else {
glMatrixMode( GL_MODELVIEW ); // Setup model transformations
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix();
//draw tiles
drawTiles();
//draw tee
glColor3f(0,0,1);
glBegin(GL_POLYGON);
vector<double> tpos = tee->getPos();
glVertex3d(tpos[0]-0.1,tpos[1]+0.01,tpos[2]+0.1);
glVertex3d(tpos[0]-0.1,tpos[1]+0.01,tpos[2]-0.1);
glVertex3d(tpos[0]+0.1,tpos[1]+0.01,tpos[2]-0.1);
glVertex3d(tpos[0]+0.1,tpos[1]+0.01,tpos[2]+0.1);
glEnd();
//draw cup
glColor3f(0,0,0);
glBegin(GL_TRIANGLE_STRIP);
for (double i =0; i<180; i++) {
double x = 0.1 * cos(i);
double y = 0.1 * sin(i);
vector<double> hpos = hole->getPos();
glVertex3d(hpos[0],hpos[1],hpos[2]);
glVertex3d(hpos[0] + x,hpos[1]+.01,hpos[2]+y);
}
glEnd();
char * str;
char * str2;
char buffer[10];
str = itoa(player1->getCurrentScore(), buffer, 10);
str2 = itoa(player2->getCurrentScore(), buffer, 10);
drawGLString(ball->getPos()[0] , ball->getPos()[1]+0.4, ball->getPos()[2], player1->getName());
drawGLString(ball->getPos()[0] , ball->getPos()[1]+0.1, ball->getPos()[2], str);
drawGLString(ball2->getPos()[0] , ball2->getPos()[1]+0.4, ball2->getPos()[2], player2->getName());
drawGLString(ball2->getPos()[0] , ball2->getPos()[1]+0.1, ball2->getPos()[2], str2);
glPopMatrix();
glPushMatrix();
glTranslatef(ball->getPos()[0],ball->getPos()[1],ball->getPos()[2]);
glColor3f(1,1,1);
glutSolidSphere(BALL_RADIUS,20,16);
glDisable(GL_LIGHTING);
glDisable(GL_LIGHT0);
glColor3f(1,1,0);
glBegin(GL_LINES);
glVertex3d(0,0,0);
glVertex3d(ball_speed*10*ball->getDirection()[0],0,ball_speed*10*ball->getDirection()[2]);
glEnd();
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glPopMatrix();
glPushMatrix();
glTranslatef(ball2->getPos()[0],ball2->getPos()[1],ball2->getPos()[2]);
glColor3f(1,0,0);
glutSolidSphere(BALL_RADIUS,20,16);
glDisable(GL_LIGHTING);
glDisable(GL_LIGHT0);
glColor3f(1,1,0);
glBegin(GL_LINES);
glVertex3d(0,0,0);
glVertex3d(ball_speed*10*ball2->getDirection()[0],0,ball_speed*10*ball2->getDirection()[2]);
glEnd();
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glPopMatrix();
ball->Update();
ball2->Update();
if (!posgive) {
if ( choice == 2 )
{
//sockClient.SendData(itoa(ball_speed*1000, buffer,10));
sockClient.SendData(itoa(direction_theta*1000, buffer,10));
}
else if ( choice == 1 )
{
//sockServer.SendData(itoa(ball_speed*1000, buffer, 10));
sockServer.SendData(itoa(direction_theta*1000, buffer,10));
}
posgive = true;
}
if (!recvd) {
//.........这里部分代码省略.........