Difference between revisions of "UDP"

From Embedded Xinu
Jump to navigation Jump to search
(Replaced content with '== Resources == XINU implements UDP as per RFC 768')
Line 1: Line 1:
== About ==
+
== Resources ==
 
XINU implements UDP as per RFC 768
 
XINU implements UDP as per RFC 768
 
== Sending data over UDP ==
 
 
'''Step 1: Allocate a new UDP device.'''
 
:Use udpAlloc to get a device number for a udp device. If allocation fails, the device number returned will be SYSERR.
 
dev = tcpAlloc())
 
 
'''Step 2: Get the local ip address'''
 
:Use netLookup to find our local ip address.
 
:If interface is NULL, then we don't have a valid network interface.
 
This usually happens when a user forgets to run the netup command.
 
 
interface = netLookup((ethertab[0].dev)->num);
 
localhost = &(interface->ip);
 
 
'''Step3: Open the UDP device'''
 
:To open the device simply call open( ) with the following arguments:
 
 
#The UDP device number
 
#Our local ip address
 
#The destination's ip address
 
#The local port to use
 
#The remote port to connect to
 
 
open(dev, localIP, dstIP, localPort, remotePort)
 
 
Again if open fails, SYSERR is returned.
 
 
 
'''Step 4: Send the packet'''
 
:To actually send the data, use write( ) with the device, buffer, and length arguments.
 
:The actual data you want to send will be written to the buffer. The length arg is the length of the buffer.
 
  write(dev, buf, MSG_MAX_LEN)
 
 
As usual, write returns SYSERR if it fails.
 
 
'''Step 5: Close the connection'''
 
:Once the device is finish being used, be responsible and call close to return the device.
 
close(dev);
 

Revision as of 21:47, 13 June 2011

Resources

XINU implements UDP as per RFC 768