当前位置: 首页>>代码示例>>C++>>正文


C++ Message::AddPart方法代码示例

本文整理汇总了C++中Message::AddPart方法的典型用法代码示例。如果您正苦于以下问题:C++ Message::AddPart方法的具体用法?C++ Message::AddPart怎么用?C++ Message::AddPart使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Message的用法示例。


在下文中一共展示了Message::AddPart方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main


//.........这里部分代码省略.........
                		return 3;
            		}
            
        		fcntl(sock, F_SETFL, O_NONBLOCK);
			
			int flag=0; 

	
			cout<<"--------------ДО добавления-----------------\n";
			for (int qq=0;qq<cl.RealClient();qq++)
			{
				if (cl.Nick(qq)=="")
					cout<<"server.c: sock "<<cl.Socket(qq)<<" nick "<<"NULL"<<endl;
				else
					cout<<"server.c: sock "<<cl.Socket(qq)<<" nick "<<cl.Nick(qq)<<endl;
			}
			cout<<"-----------------------------------------------\n";
			
			cl.WriteNew(sock);// проверить return

			cout<<"--------------После добавления-----------------\n";
			for (int qq=0;qq<cl.RealClient();qq++)
			{
		
				if (cl.Nick(qq)=="")
					cout<<"server.c: sock "<<cl.Socket(qq)<<" nick "<<"NULL"<<endl;
				else
					cout<<"server.c: sock "<<cl.Socket(qq)<<" nick "<<cl.Nick(qq)<<endl;
			}
			cout<<"-----------------------------------------------\n";

        	}


		//создаем обьекты для постановки их в очереди.................

		

				
		for (int i=0;i<cl.RealClient();i++)
        	{
		
           		 if(FD_ISSET(cl.Socket(i), &readset))
            		{
                		// Поступили данные от клиента, читаем их
               			bytes_read = recv(cl.Socket(i), buf, size_buf, 0);//реально вернет кол-во байт указанных на стoроне клиента!!!!!
				cout<<"--server.c: socket RECV:  "<<cl.Socket(i)<<"  byte RECV:  "<<bytes_read<<endl;
				buf[bytes_read]='\0';
				if(bytes_read <= 0)
                		{
                    			// Соединение разорвано, удаляем сокет из множества
					close(cl.Socket(i));			
                  			cl.setSocket(i,-1);
					
					
					//рассылка юзерам о дисконнекте пользователя
					if(cl.Nick(i)[0]!='#')
					{	
						IMessage* connmes=new Message("");
						connmes->AddPart(_o,"disconnect");
						connmes->AddPart(_s,cl.Nick(i));
						Conn_que->Write(connmes);						
						delete connmes;						
					}
					cl.setNick(i,"");

					//-----------------------------------------
					cout<<"--------------После закрытия-----------------\n";
					for (int qq=0;qq<cl.RealClient();qq++)
					{
			
						if (cl.Nick(qq)=="")
							cout<<"server.c: sock "<<cl.Socket(qq)<<" nick "<<"NULL"<<endl;
						else
							cout<<"server.c: sock "<<cl.Socket(qq)<<" nick "<<cl.Nick(qq)<<endl;
					}
					cout<<"-----------------------------------------------\n";     
		
                    			continue;
              			}
		
				else
				{	
					Message* msg;
					string buffer=buf;
					cout<<" length bufer  "<<buffer.length()<<endl;
					msg=new Message(buffer);
					cout<<buffer<<endl;
					cout<<"TEST NICK"<<cl.Nick(i)<<endl;
					msg->AddPart(_s,cl.Nick(i));
					AQueue* tmp=type_parser->TypeParse(buffer);
					if (tmp!=NULL)
					tmp->Write(msg);
					delete msg;					
	   			}    
            		}//if
        	}//for
    	}//while    
   	return 0;
}
开发者ID:slim89,项目名称:MMessanger-Server,代码行数:101,代码来源:mainthread.cpp


注:本文中的Message::AddPart方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。