资源简介
Chat.rar
代码片段和文件信息
#include “Chat.h“
const pair Chat::ChatOutPos = pair(26);
const pair Chat::SendOutPos = pair(225);
const pair Chat::MemOutPos = pair(6815);
list Chat::ChatRecords;
SocketList* Chat::Room = NULL;
Chat::Chat():MaxName(16)RecSocket(NULL)
{
StartSocketLib;
srand(GetTickCount());
}
Chat::~Chat(){CloseSocketLib;}
void Chat::SetOutPos(pair pos)
{
HANDLE hStd = GetStdHandle(STD_OUTPUT_HANDLE);
COORD setPS;
setPS.X=pos.first; //设置光标位置
setPS.Y=pos.second;
SetConsoleCursorPosition(hStdsetPS);
}
void Chat::CinString(void *Receive)
{
SetOutPos(Chat::SendOutPos);
string *Result = static_cast(Receive);
*Result = ““;
cin >> *Result;
}
int Chat::Menu()
{
cout << “1:创建房间“ << endl;
cout << “2:进入房间“ << endl;
cout << “请选择你要进行的操作:“;
while(true)
{
int select = 0;
cin >> select;
if(select == 1)
{
CreateRoom();
break;
}
else if(select == 2)
{
EnterRoom();
break;
}
else
{
cout << “输入有误!请重新输入:“;
}
}
return 0;
}
string Chat::SetName()
{
int num = rand() % MaxName;
string name = AllName[num];
AllName.erase(find(AllName.begin()AllName.end()name));
return name;
}
void Chat::CreateRoom()
{
isServer = true;
Room = new SocketList(true);
cout << “创建房间成功“ << endl;
ActivateAllName();
DeleteName(myName = SetName());
NameInRoom.push_back(myName);
Fresh();
}
void Chat::ActivateAllName()
{
const int MAXNUM = 16;
const string nameArr[MAXNUM] = {“迅捷斥候““光辉女郎““末日使者““雪人骑士““刀锋意志““玛西亚之力““琴瑟仙女““寒冰射手““暗影之拳““邪恶小法师““武器大师““殇之木乃伊““卡牌大师““无极剑圣““流浪法师““不祥之刃“};
for(int i = 0; i != MAXNUM; i++)
AllName.push_back(nameArr[i]);
}
void Chat::DeleteName(string name)
{
vector::iterator itr = find(AllName.begin()AllName.end()name);
if(itr != AllName.end())
AllName.erase(itr);
--MaxName;
}
void Chat::EnterRoom()
{
isServer = false;
cout << “请输入进入的房间IP地址:“;
string RoomIp;
cin >> RoomIp;
Room = new SocketList(falseRoomIp);
cout << “进入房间成功“ << endl;
Fresh();
}
void Chat::clearText(pair pos)
{
int line = 0length = 0;
if(pos == SendOutPos)
{
line = 5;
length = 64;
}
else if(pos == ChatOutPos)
{
line = 15;
length = 64;
}
else if(pos == MemOutPos)
{
line = 16;
length = 15;
}
for (int i = 0; i != line; ++i)
{
SetOutPos(pos);
for(int j = 0; j != length; ++j)
cout << “ “;
++pos.second;
}
}
void Chat::Fresh()
{
ThreadLib::ThreadID CinThread;
string *str = new string;
system(“cls“);
DrawBackground();
ShowName();
while(true)
{
CinThread = ThreadLib::Create( CinString (void*)str );
while(true)
{
detectingMsg();
if (*str != ““)
{
*str = myName + “(“ + getTime() + “)\n│“ + *str;
if(isServer)
{
RecStrList.push_back(*str);
freshChatRecord();
}
Room->Send(*str);
clearText(Se
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9836 2015-04-25 09:04 Chat\Chat.cpp
文件 2017 2015-04-25 08:16 Chat\Chat.h
文件 32198656 2015-04-25 16:46 Chat\Chat.sdf
文件 874 2015-04-19 11:09 Chat\Chat.sln
..A..H. 33280 2015-04-25 16:46 Chat\Chat.suo
文件 4602 2015-04-25 16:45 Chat\Chat.vcxproj
文件 2093 2015-04-25 16:45 Chat\Chat.vcxproj.filters
文件 143 2015-04-19 11:09 Chat\Chat.vcxproj.user
文件 2027 2015-04-23 00:18 Chat\Debug\Chat.Build.CppClean.log
文件 210432 2015-04-25 16:45 Chat\Debug\Chat.exe
文件 406 2015-04-23 00:21 Chat\Debug\Chat.exe.em
文件 472 2015-04-23 00:21 Chat\Debug\Chat.exe.em
文件 381 2015-04-25 16:45 Chat\Debug\Chat.exe.intermediate.manifest
文件 1515664 2015-04-25 16:45 Chat\Debug\Chat.ilk
文件 87 2015-04-25 16:45 Chat\Debug\Chat.lastbuildstate
文件 2347 2015-04-25 16:45 Chat\Debug\Chat.log
文件 815929 2015-04-25 09:04 Chat\Debug\Chat.obj
文件 1985536 2015-04-25 16:45 Chat\Debug\Chat.pdb
文件 707 2015-04-23 14:18 Chat\Debug\Chat.vcxprojResolveAssemblyReference.cache
文件 0 2015-04-23 00:18 Chat\Debug\Chat.write.1.tlog
文件 198 2015-04-23 00:18 Chat\Debug\Chat_manifest.rc
文件 4106 2015-04-25 16:45 Chat\Debug\cl.command.1.tlog
文件 136862 2015-04-25 16:45 Chat\Debug\CL.read.1.tlog
文件 5246 2015-04-25 16:45 Chat\Debug\CL.write.1.tlog
文件 2 2015-04-25 16:45 Chat\Debug\li
文件 2 2015-04-25 16:45 Chat\Debug\li
文件 2 2015-04-25 16:45 Chat\Debug\li
文件 2 2015-04-25 16:45 Chat\Debug\li
文件 2 2015-04-25 16:45 Chat\Debug\li
文件 2 2015-04-25 16:45 Chat\Debug\li
............此处省略57个文件信息
- 上一篇:精伦电子idr210 sdk
- 下一篇:柯林斯双解第五版多看 kindle
相关资源
- 红蜘蛛黑客工具箱.zip
- 大灰狼远控源码增加QQ显功能.zip
- 网络盗窃-10个黑客入侵的故事.pdf
- f325d3e33b7d07dc41239c923d3feba6.rar
- 23种设计模式(C)高清无码版.zip
- 德州扑克DeepStack算法.pdf
- 扑克.zip
- 灰鸽子2008VIP破解版.rar
- Schools.rar
- 基于Multisim10的十字路口交通灯控制器
- qbfmel.rar
- a247829441_2070705.zip
- 人民币纸币面值识别系统设计.rar
- 国旗.zip
- 政治.zip
- uif65d.zip
- 黑客工具包大全.doc
- 刺激战场人物加速方框透视成品源码
- 最新GJB9001C-2017国军标整套程序文件包
- UJFS足球投注系统制作.zip
- perl-5.24.0.tar.gz
- 黑客锁机源码.rar
- 增长黑客.pdf
- 最新GJB9001C:2017国军标一整套程序文
- oaid_sdk_1.0.23.zip200578
- dizhi1.rar
- 白金假肉鸡上线器.zip
- X破解专版.rar
- 大作家.rar
- WINDOWS黑客编程技术详解-配套代码.z
评论
共有 条评论