Ejemplo n.º 1
0
int recvData(int sockfd, void* data, int len)
{
  int ret = read(sockfd, data, len);
  if(!isBigEndian())
    switchEndian(data, ret);
  return ret;
}
	whisper_library::GenericPacket extractApplicationLayer(vector<bool> frame) {
		vector<bool> application_layer;
		vector<bool> packet_little_endian = switchEndian(frame);

		whisper_library::IpHeaderv4 ip_header(packet_little_endian);
		unsigned int length_bit = ip_header.ipHeaderLength() * 32;
		unsigned int total_length_bit = ip_header.totalLength() * 8;

		application_layer.insert(application_layer.begin(), packet_little_endian.begin() + 112 + length_bit, packet_little_endian.begin() + 112 + total_length_bit); // cut of 14 byte ethernet header (112 bit) and ip header and padding
		whisper_library::GenericPacket generic_packet;
		generic_packet.setPacket(application_layer);

		return generic_packet;
	}
Ejemplo n.º 3
0
int sendData(int sockfd, void* data, int len)
{
  if(!isBigEndian())
    switchEndian(data, len);
  return write(sockfd, data, len);
}