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


C++ ServerSocket::ListenBlocking方法代码示例

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


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

示例1: main

int main (int argc, char* argv[])
{
	signal (SIGINT, OnSignal);

	// test buffer code
	if (false)
	{
		Buffer buf1 ("abc\ndef\nghi\n");
		while (true == buf1.HasTerminator ('\n'))
		{
			// cout << "=>" << buf1 << "<=" << endl;
			String sMessage = buf1.PopFirstMessageAsString ('\n');
			cout << "->" << sMessage << "<-" << endl;
		}

		Buffer buf2 ("abc\x01""def\x01""ghi\x01");
		while (true == buf2.HasTerminator ('\x01'))
		{
			// cout << "=>" << buf2 << "<=" << endl;
			String sMessage = buf2.PopFirstMessageAsString ('\x01');
			cout << "->" << sMessage << "<-" << endl;
		}
	}

	// test blocking client 
	if (false)
	{
		ClientSocket soc;
		soc.SetStandalone (true);
		soc.ConnectBlocking (argv [1], argv [2]);
		soc.ProcessEvents (1000);

		while (true)
		{
			char zData [1024];
			long lBytes = soc.ReceiveBlocking (zData, 1024, 0);
			if (0 >= lBytes)
				break;
			zData [lBytes] = '\0';
			cout << zData << endl;
			soc.SendBlocking (zData, strlen (zData));
		}
	}

	// test blocking server	
	if (false)
	{
		ServerSocket soc;
		while (true)
		{
			ClientSocket* pClient = soc.ListenBlocking (argv [1], 1);

			while (true)
			{
				char zData [1024];
				long lBytes = pClient->ReceiveBlocking (zData, 1024, 0);
				if (0 >= lBytes)
					break;
				zData [lBytes] = '\0';
				cout << zData << endl;
				pClient->SendBlocking (zData, strlen (zData));
			}
		}
	}

	// test non-blocking client 
	if (true)
	{
		Client soc;
		soc.SetStandalone (true);
		soc.ConnectNonBlocking (argv [1], argv [2]);

		while (true)
		{
			// AllSockets::ProcessWaitingSockets (100);
			soc.ProcessEvents (100);
		}
	}

	// test non-blocking server 
	if (false)
	{
		Server soc;
		soc.ListenNonBlocking (argv [1], 1, Client::CreateClient);

		while (true)
		{
			AllSockets::ProcessEvents (100);
		}
	}
}
开发者ID:master-patch,项目名称:learning_from_questions,代码行数:91,代码来源:main-general.cpp


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