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