Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在无线网络中访问NS2数据包报头以获取接收到的数据_C++_Tcl_Ns2 - Fatal编程技术网

C++ 在无线网络中访问NS2数据包报头以获取接收到的数据

C++ 在无线网络中访问NS2数据包报头以获取接收到的数据,c++,tcl,ns2,C++,Tcl,Ns2,我在NS2(确切地说是椭圆曲线)中实现了一个加密协议。我在TCL建立了一个无线网络。cc代码对从TCL获得的消息进行加密,然后将加密数据存储在数据包头中,并将其发送到另一个节点。另一个节点应该检索该数据并将其解密为原始明文。 我遇到了一个问题,当第二个节点接收到无线数据包并访问报头以检索加密数据(以便它可以执行解密)时,接收到的数据被修改。 例如: =>如果我想发送消息“abc”(消息将被转换为整数进行加密),第一个节点将对消息进行加密,并将其存储在数据包头中。当我在发送前打印标题中的加密数据时

我在NS2(确切地说是椭圆曲线)中实现了一个加密协议。我在TCL建立了一个无线网络。cc代码对从TCL获得的消息进行加密,然后将加密数据存储在数据包头中,并将其发送到另一个节点。另一个节点应该检索该数据并将其解密为原始明文。 我遇到了一个问题,当第二个节点接收到无线数据包并访问报头以检索加密数据(以便它可以执行解密)时,接收到的数据被修改。 例如: =>如果我想发送消息“abc”(消息将被转换为整数进行加密),第一个节点将对消息进行加密,并将其存储在数据包头中。当我在发送前打印标题中的加密数据时,我得到“508550885090”

=>当第二个节点在recv功能中接收到数据包时,报头内容更改为“1077805061061050881290” 如何从无线数据包头中提取原始发送数据

下面是访问标头的代码中的recv部分:

void Security_packetAgent::recv(Packet * pkt, Handler * ) {

  // Access the IP header for the received packet:
  hdr_ip * hdrip = hdr_ip::access(pkt);

  // Access the security packet header for the received packet:
  hdr_security_packet * hdr = hdr_security_packet::access(pkt);
  //code for storing the data and handling it

}
其中,hdr_security_数据包位于加密协议的头文件中,接收到的加密数据存储在hdr中。 感谢您的帮助。 提前谢谢