Beispiel #1
0
void procPerMessage::udpSend(int protocol_id, Message* msg)
{
    //Add header
    udpHeader *header = new udpHeader;
    header->hlp = protocol_id;

    //Send to IP
    header->m_size = msg->msgLen();

    msg->msgAddHdr((char *)header, sizeof(udpHeader));
    ipSend(UDP_ID, msg);

    delete header;
}
Beispiel #2
0
void procPerMessage::tcpSend(int protocol_id, Message* msg)
{
    //Add header
    tcpHeader *header = new tcpHeader;
    header->hlp = protocol_id;

    //Send to ip
    header->m_size = msg->msgLen();

    msg->msgAddHdr((char *)header, sizeof(tcpHeader));
    ipSend(TCP_ID, msg);

    delete header;
}
Beispiel #3
0
void udpSend(uint32_t dstIp, uint16_t dstPort, uint16_t len, uint8_t* data)
{
	// make pointer to UDP header
	struct netUdpHeader* udpHeader;
	// move data pointer to make room for UDP header
	data -= UDP_HEADER_LEN;
	udpHeader = (struct netUdpHeader*)data;
	// adjust length to add UDP header
	len += UDP_HEADER_LEN;
	// fill UDP header
	udpHeader->destport = HTONS(dstPort);
	udpHeader->srcport  = HTONS(dstPort);
	udpHeader->udplen = htons(len);
	udpHeader->udpchksum = 0;

//	debugPrintHexTable(UDP_HEADER_LEN, (uint8_t*)udpPacket);

	ipSend(dstIp, IP_PROTO_UDP, len, (uint8_t*)udpHeader);
}