⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userlist.cpp

📁 类似QQ的通信的简单服务器和客户端程序
💻 CPP
字号:
// Userlist.cpp: implementation of the Userlist class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Userlist.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Userlist::Userlist()
{
	counter=0;
}

Userlist::~Userlist()
{

}

void Userlist::Add(_struct_user u)
{
	for(i=counter;i<10;i++)
	{
		s[i].used=FALSE;
	}
    strcpy(s[counter].name,u.name);
	strcpy(s[counter].IP,u.IP);
	s[counter].socket=u.socket;
	s[counter].used=TRUE;
	counter++;

}

int Userlist::getUserByName(const char *sUser)
{
	int t;
	for(i = 0;i < 10;i++)
	{
		if(strcmp(s[i].name,sUser)==0)
		{
			 t = i;
			 break;
		}
	}
	return t;


}

void Userlist::Remove(const char *sUser)
{
	i=getUserByName(sUser);
	s[i].name[0]='\0';
	s[i].used=FALSE;
	shutdown (s[i].socket, 0x02);


}

int Userlist::getUserSocketByName(const char *sUser)
{
	for(i = 0;i < 10;i++)
	{
		if(strcmp(s[i].name,sUser)==0)
		{
			 break;
		}
	}
	if(i>=10) 
	{
		return -1;
	}
	else
	{
		return s[i].socket;	
	}
}



char*  Userlist::getUserinformation()
{
	int j=0;
	char szUserinf[5000];
	for(i=0;i<10;i++)
	{
		if(s[i].used)
			j+=sprintf(szUserinf+j,"name:%s;IP:%s;Usersocket:%d;",s[i].name,s[i].IP,s[i].socket);
	}
		szUserinf[strlen(szUserinf)] = '\0' ;
		return szUserinf;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -