网络聊天系统源代码 第7页


网络聊天系统源代码 第7页
 for(j=0; j<len; ++j)
     {
      usname[j] = pbuffer[j];
     }
     usname[j] = '\0';
     pbuffer = m_pstr + 1;

     pos = SocketList.GetHeadPosition();
     for (j=0; j<listcount; j++)
     {
      usersocket = SocketList.GetNext(pos);
      //获取发送密语的用户名
      if (strcmp(usname, usersocket.username) == 0)
       break;
     }
     //向密语对象发送消息
     sprintf(sendbuffer, "%s~%s 悄悄对你 说:%s", flag, SourceName, pbuffer);
     send(usersocket.clientsocket, sendbuffer, strlen(sendbuffer) + 1, 0);
     //向密语者发送消息
     sprintf(sendbuffer, "%s~你悄悄对%s 说:%s", flag, usname, pbuffer);
     send(mySocket, sendbuffer, strlen(sendbuffer) + 1, 0);
    }
    //**********转发消息结束**********    
   }
   //创建聊天室消息处理
   else if (strcmp(flag, "CREATE_ROOM") == 0)
   {
    int len;
    char roomname[20];
    char sendbuffer[100];
    CRoomInfo TempRoomInfo;
    //取出聊天室名
    len = strlen(pbuffer);
    for(int n=0; n<len; n++)
    {
     roomname[n] = pbuffer[n];
    }
    roomname[n] = '\0';    
   
    pos = SocketList.GetHeadPosition();
    listcount = SocketList.GetCount();    
    for (int j=0; j<listcount; j++)
    {
     usersocket = SocketList.GetNext(pos);
     if (usersocket.clientsocket == mySocket)
     {
      //获得创建者用户名
      TempRoomInfo.Creator = usersocket.username;
      break;
     }
    }查看聊天室界面   实现代码:
void CRoomDlg::Display()
{
 CRoomInfo TempRoom;
 CString TempNo;
 int listcount;
 POSITION pos;

 pos = RoomList.GetHeadPosition();
 listcount = RoomList.GetCount();

 for (int i=0; i<listcount; i++)
 {
  TempRoom = RoomList.GetNext(pos);
  TempNo.Format("%d", TempRoom.RoomNo);
  m_RoomList.InsertItem(i, TempNo);
  m_RoomList.SetItemText(i, 1, TempRoom.RoomName);
 }
}
4 .2客户端详细设计
4.2.1客户端结构设计客户端登陆流程图 
 
图4-2-1 用户登陆流图
            (Graph 4-2-1 User Login Flow Chart)

 客户端聊天室流程图  图4-2-2 创建聊天室
          ( Graph 4-2-2 Chat room basic information)
4.2.2客户端实现原理及功能描述
注册好的帐号通过登陆界面登陆到用户主界面,主要是聊天室基本信息的文字聊天和管理等。
(1) 创建聊天室
A. 可以添加新的聊天室;
B. 可以删除自己创建的聊天室;
(2) 加入聊天室
A. 可以在大厅里看到别人创建的聊天室,然后加入他们的聊天室;
(3) 多人文字聊天
A. 可以在聊天室的所有人进行聊天。
(4) 聊天信息纪录管理
A. 可以把对所有人的对话保存在电脑的硬盘上;

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有