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


C++ Analysis::analyzeProtocol方法代码示例

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


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

示例1: analyzeProtocol

void IpAnalysis::analyzeProtocol(ProtocolStack &pstack, size_t *bytes)
{
	if(_bufsize < sizeof(_iphdr))
	{
		bzero(&_iphdr, sizeof(_iphdr));
		return;
	}

	memcpy(&_iphdr, _buffer, sizeof(_iphdr));

	_iphdr.tot_len = ntohs(_iphdr.tot_len);
	_iphdr.check = ntohs(_iphdr.check);

	if(bytes != NULL)
		*bytes += _iphdr.tot_len;
	pstack.push_back(this);

	Analysis *child = _getChild(_iphdr.protocol);
	if(child != NULL)
	{
		child->setBuffer(_buffer + getHeaderLen(), 
				_bufsize - getHeaderLen());
		child->analyzeProtocol(pstack, NULL);
	}

}
开发者ID:ljianhui,项目名称:NetworkSniffer,代码行数:26,代码来源:ipanalysis.cpp

示例2: analyzeProtocol

void UdpAnalysis::analyzeProtocol(ProtocolStack &pstack, size_t *bytes)
{
	if(_bufsize < sizeof(_udphdr))
	{
		bzero(&_udphdr, sizeof(_udphdr));
		return;
	}
	
	memcpy(&_udphdr, _buffer, sizeof(_udphdr));
	_udphdr.source = ntohs(_udphdr.source);
	_udphdr.dest = ntohs(_udphdr.dest);
	_udphdr.len = ntohs(_udphdr.len);
	_udphdr.check = ntohs(_udphdr.check);

	if(bytes != NULL)
		*bytes += _udphdr.len;
	pstack.push_back(this);

	int port = _udphdr.source < _udphdr.dest ? _udphdr.source:_udphdr.dest;
	Analysis *child = _getChild(port);
	if(child != NULL)
	{
		child->setBuffer(_buffer + 8, _bufsize - 8);
		child->analyzeProtocol(pstack, NULL);
	}
}
开发者ID:ljianhui,项目名称:NetworkSniffer,代码行数:26,代码来源:udpanalysis.cpp


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