当前位置: 首页>>代码示例>>C++>>正文


C++ Error::err_display方法代码示例

本文整理汇总了C++中Error::err_display方法的典型用法代码示例。如果您正苦于以下问题:C++ Error::err_display方法的具体用法?C++ Error::err_display怎么用?C++ Error::err_display使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Error的用法示例。


在下文中一共展示了Error::err_display方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ProcessClient

// Ŭ���̾�Ʈ�� ������ ���
DWORD WINAPI ProcessClient(LPVOID arg)
{
	Error ER;

	Socket_Cli SC;//����κ��� ����.. ���� ����Ʈ�� �����ٰ� �ؾ߰���?
	Parser Ps;

	SC.set_sock((SOCKET)arg);
	int retval;
	char buf[BUFSIZE + 1];

	// Ŭ���̾�Ʈ ���� ���
	SC.addrlen = sizeof(SC.get_sockaddr());
	getpeername(SC.get_sock(), (SOCKADDR *)&SC.get_sockaddr(), &SC.addrlen);

	while (1){
		// ������ �ޱ�
		retval = recv(SC.get_sock(), buf, BUFSIZE, 0);
		if (retval == SOCKET_ERROR){
			ER.err_display("recv()");
			break;
		}
		else if (retval == 0)
			break;

		//accept�ϰ� �������ߴ��� ��Ŷ�� �޾Ƽ� �ؼ��Ѵ����� �ؾ��ϴ°Ŷ� ���⼭ ��
		//�ļ����� ���ʻ��� ���� �������� ī���� �����ؼ� �ѹ��� �ش� �׸��� ���Ϳ� ����ϴ°͵� ����������.
		//if(�ļ� ���� ������) 
		if (Ps.parsing_msg(buf) == 0){
			SC.set_num(cli_num);
			cli_info.push_back(SC);
			cli_num++;
		}
		

		// ���� ������ ���
		buf[retval] = '\0';
		/*printf("[TCP/%s:%d] %s\n", inet_ntoa(SC.get_sockaddr().sin_addr),
			ntohs(SC.get_sockaddr().sin_port), buf);*/

		//���� �����Ϳ��� Ŭ�� �ѹ��κи� �����ö��� 0���״� ���Ϳ��� �˻��ؼ� ���� �������ΰ� ã�Ƽ� �� �ѹ��� ��ü�ؼ� ��ü�� �����Ѵ�
		//buf[0~1]�ѹ��� 00~99 �̷������� �����ɰŶ������� �׷� Ŭ�� �ѹ��� ���⿡ �־ ���� �ٲ�����°����� Ŭ�� ��ȣ�� itoa�� �̹� ���ڿ���
		//�ٲ��� �������°� �װ� �ε��������� ��������ҰŰ���
		int max = cli_info.size();
		for (int i = 0; i < max; i++){
			//getpeername(cli_info[i].get_sock(), (SOCKADDR *)&cli_info[i].get_sockaddr(), &cli_info[i].addrlen);
			if (cli_info[i].get_sockaddr().sin_port == SC.get_sockaddr().sin_port){//���Ϳ� �ִ� Ŭ���� ������ Ŭ��� ������ �����ѰŸ� �ѹ� ����Ŷ���� 
				strcpy_s(buf, Ps.re_packet_msg(buf, cli_info[i].get_num()));
			}
		}
		// ������ ������
		//������ ���� Ŭ�� ���� ��ü���� �ٽ� �����Ѵ�, ���� Ŭ�� �����ص� ���������
		for (int i = 0; i < max; i++){
			retval = send(cli_info[i].get_sock(), buf, retval, 0);
			if (retval == SOCKET_ERROR){
				ER.err_display("send()");
				break;
			}
		}
	}

	// closesocket()
	closesocket(SC.get_sock());
	/*printf("[TCP ����] Ŭ���̾�Ʈ ����: IP �ּ�=%s, ��Ʈ ��ȣ=%d\n",
		inet_ntoa(SC.get_sockaddr().sin_addr), ntohs(SC.get_sockaddr().sin_port));*/

	return 0;
}
开发者ID:gunsct,项目名称:YBH_OgreServer,代码行数:69,代码来源:Server.cpp


注:本文中的Error::err_display方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。