資源簡介
包含客戶端與服務端,實現了登錄,注冊,用戶上線或離線提示,選擇好友進行聊天等功能。VS2017下開發。
代碼片段和文件信息
#include?
#include??
#include?
#pragma?comment(lib?“ws2_32.lib“)
#include
#define?namesize?16
#define?passwordsize?10
#pragma?warning(disable:4996)
using?namespace?std;
char?name[namesize];
char?password[passwordsize];
char?selectflag[10][2];
char?selectname[10][16];
char?selectdialog[10][16];
int?sel;
//*************************************************************************************
//截取字符串ch從pos位置開始的length長度的字符串并返回新字符串的地址?
char*?substring(char*?ch?int?pos?int?length)
{
char*?pch?=?ch;
//定義一個字符指針,指向傳遞進來的ch地址。
char*?subch?=?(char*)calloc(sizeof(char)?length?+?1);
//通過calloc來分配一個length長度的字符數組,返回的是字符指針。
int?i;
//只有在C99下for循環中才可以聲明變量,這里寫在外面,提高兼容性。
pch?=?pch?+?pos;
//是pch指針指向pos位置。
for?(i?=?0;?i {
subch[i]?=?*(pch++);
//循環遍歷賦值數組。
}
subch[length]?=?‘\0‘;//加上字符串結束符。
return?subch; //返回分配的字符數組地址。
}
//*************************************************************************************
//從字符串buf中尋找第n次出現字符c的位置并返回,沒有則返回-1?
int?find(char?*buf?char?c?int?n)
{
if?(n<0)
return?-1;
int?poisition?=?-1?tempn?=?1;
int?len?=?strlen(buf);
for?(int?i?=?0;?i if?(buf[i]?==?c)?{
if?(tempn?==?n)?{
poisition?=?i;
break;
}
tempn++;
}
}
return?poisition;
}
int?select(char?*buff)
{
//4#0.black#1.tony#
printf(buff);
printf(“\n“);
int?num?=?0;//在線用戶人數
int?numberofdian?=?1;
int?numberofjing?=?1;
int?m?=?find(buff?‘#‘?1)?n?=?find(buff?‘#‘?2);
for?(int?i?=?0;?m?!=?-1?&&?n?!=?-1?&&?i?10;?i++)
{//
char?*sub1?=?substring(buff?m?+?1?find(buff?‘.‘?numberofdian)?-?m?-?1);//
char?*sub2?=?substring(buff?find(buff?‘.‘?numberofdian)?+?1?find(buff?‘.‘?numberofdian?+?1)?-?find(buff?‘.‘?numberofdian)?-?1);
char?*sub3?=?substring(buff?find(buff?‘.‘?numberofdian?+?1)?+?1?n?-?find(buff?‘.‘?numberofdian?+?1)?-?1);
numberofdian?+=?2;
numberofjing?+=?1;
strcpy_s(selectflag[num]?5?sub1);
strcpy_s(selectname[num]?20?sub2);
strcpy_s(selectdialog[num]?20?sub3);
num++;
m?=?n;
n?=?find(buff?‘#‘?numberofjing?+?1);
}
return?num;
}
void?refresh()
{
printf(““);
}
DWORD?WINAPI??recv(PVOID?p)
{
SOCKET?sockConing?=?*((SOCKET*)p);
char?buff[1024];
memset(buff?0?sizeof(buff));
while?(1)//3#0.tony#hello
{
memset(buff?0?sizeof(buff));
recv(sockConing?buff?sizeof(buff)?0);
//printf(“收到buff=%s\n“?buff);
char?*operation?=?substring(buff?0?find(buff?‘#‘?1));
if?(*operation?==?‘4‘)?{
int?num?=?select(buff);?
printf(“當前在線用戶為:\n“);
for?(int?i?=?0;?i? {
//printf(selectid[i]);
printf(“%d“?i);
printf(“.“);
printf(selectname[i]);
if?(strcmp(selectflag[i]?“2“)==0)?{
printf(“??狀態:在線“);
}
else?if?(strcmp(selectflag[i]?“3“)==0)?{
printf(“??狀態:通話中(與%s)“selectdialog[i]);
}
printf(“????????“);
}
printf(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????38400??2018-11-01?23:28??Server\.vs\Server\v15\.suo
?????文件???36974592??2018-11-01?23:28??Server\.vs\Server\v15\Browse.VC.db
?????文件???69402624??2018-11-01?21:49??Server\.vs\Server\v15\ipch\AutoPCH\8b7f273086cef3b0\SERVER.ipch
?????文件???69402624??2018-10-27?15:31??Server\.vs\Server\v15\ipch\AutoPCH\b70bc26525d36f90\SERVER.ipch
?????文件?????119296??2018-11-01?21:50??Server\Debug\Server.exe
?????文件?????693180??2018-11-01?21:50??Server\Debug\Server.ilk
?????文件?????667648??2018-11-01?21:50??Server\Debug\Server.pdb
?????文件?????????76??2018-10-30?11:44??Server\Debug\username&pwd.txt
?????文件?????????74??2018-11-01?23:28??Server\Server\Debug\Server.log
?????文件?????309827??2018-11-01?21:49??Server\Server\Debug\server.obj
?????文件??????77890??2018-10-22?18:41??Server\Server\Debug\server.obj.enc
?????文件???????1218??2018-11-01?21:49??Server\Server\Debug\Server.tlog\CL.command.1.tlog
?????文件??????41056??2018-11-01?23:28??Server\Server\Debug\Server.tlog\CL.read.1.tlog
?????文件????????420??2018-11-01?23:28??Server\Server\Debug\Server.tlog\CL.write.1.tlog
?????文件???????2106??2018-11-01?21:50??Server\Server\Debug\Server.tlog\li
?????文件???????5052??2018-11-01?23:28??Server\Server\Debug\Server.tlog\li
?????文件????????394??2018-11-01?23:28??Server\Server\Debug\Server.tlog\li
?????文件????????208??2018-11-01?23:28??Server\Server\Debug\Server.tlog\Server.lastbuildstate
?????文件?????617472??2018-11-01?21:49??Server\Server\Debug\vc141.idb
?????文件?????487424??2018-11-01?21:49??Server\Server\Debug\vc141.pdb
?????文件??????18846??2018-10-27?15:57??Server\Server\server.cpp
?????文件???????5946??2018-10-14?09:26??Server\Server\Server.vcxproj
?????文件????????951??2018-10-14?09:26??Server\Server\Server.vcxproj.filters
?????文件????????165??2018-10-14?09:25??Server\Server\Server.vcxproj.user
?????文件????????100??2018-11-01?22:03??Server\Server\username&pwd.txt
?????文件???????1432??2018-10-14?09:25??Server\Server.sln
????..A..H.?????30208??2018-10-24?07:23??client\.vs\client\v15\.suo
?????文件???36982784??2018-10-24?07:23??client\.vs\client\v15\Browse.VC.db
?????文件???42598400??2018-10-23?19:27??client\.vs\client\v15\ipch\AutoPCH\892f6aae33837550\CLIENT.ipch
?????文件???????7813??2018-10-24?07:23??client\client\client.cpp
............此處省略44個文件信息
- 上一篇:chi_sim.traineddata加OCR安裝包
- 下一篇:iview后臺框架
評論
共有 條評論