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

📄 client.cpp

📁 一个Linux下的五子棋对战游戏
💻 CPP
字号:
#include "client.h"client::client():status(F_NEW){	bzero(name, sizeof(name));	bzero(recvhead, sizeof(recvhead));	flagStatus = 0x10;}client::~client(){}int client::send(char* buff, int outbytes){	int n = write(clifd, buff, outbytes);	if(n == -1)	{		if(errno == EWOULDBLOCK)		{			return -1;		}		else if(errno == EINTR)		{			return -2;		}		else		{			perror("sendmsg");			return -3;		}	}	return n;}int client::recv(char* buff, int inbytes){	int n;	n = read(clifd, buff, inbytes);	if(n == -1)	{		if(errno == EWOULDBLOCK)		{			return -1;		}		if(errno == EINTR)		{			return -2;		}		else		{			perror("recvmsg");			return -3;		}	}	if(n == 0)	{		status = F_LEAVE;		return 0;	}	buff[n] = '\0';	return n;}int client::getname(){	int n;	status = F_ESTABLISHED;	n = read(clifd, name, sizeof(name));	if(n == -1)	{		if(errno == EWOULDBLOCK)		{			return -1;		}		else if(errno == EINTR)		{			return -2;		}		else		{			perror("recv name");			return -3;		}	}	name[n] = '\0';	char buff[MAX_LEN];	snprintf(buff, MAX_LEN, "Client %s enter the serve\n", name);	cout << buff;	strncpy(recvhead, name, sizeof(recvhead));	strncat(recvhead, " said:", sizeof(recvhead) - 1);	return n;}void client::nonblock(){	int flags;	if((flags = fcntl(clifd, F_GETFL, 0)) < 0)	{		perror("fcntl listenfd");		exit(1);	}	if(fcntl(clifd, F_SETFL, flags | O_NONBLOCK) < 0)	{		perror("fcntl listenfd");		exit(1);	}}

⌨️ 快捷键说明

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