I need a SerialUDPClient and SerialUDPListener class that functions exactly like the TCPClient / TCPListener classes, with the following exceptions: (1) Data is transmitted via UDP channels and not TCP channels. (2) Received data will automatically be reordered into proper sequence, with ACK messages and auto-retry for failed messages (just like TCP data). (3) Sent data will be broken to fit within proper UDP packet sizes, and contain proper ID and checksum fields to reconstruct data at receipient. Maximum packet size will be an option: static or dynamic (dynamic should expand to 32k packets when using a LAN) (4) Any number SerialUDPClient classes and a single SerialUDPListener class can operate on a single UDP channel. Maybe another class to handle the received UDP messages will be necessary (to broadcast them to the currently opened classes). When all UDP classes using a single port have been closed (using the Close or Dispose method), all remaining socket resources must be released. (5) Classes must close (like TCP) if data cannot be sent after a given timeout period (just like TCP). (6) Classes must support synchronous receive with timeout, similar to TCP, without using any CPU resources while waiting for data. (7) Classes must fully support multithreading, allowing for data to be sent while another thread is waiting for data to be received. (8) Code must be written in 100% VB.NET using .NET socket classes. (No Windows API calls unless absolutely necessary). (9) Sample app must be included of a program that transmits a file over the internet to a listening program using these classes. (No fancy interface necessary). App must be able to submit multiple files at once on the same UDP channel, and listening app must automatically save each received file into a directory. Prerequisites: - Must have extensive knowledge of UDP and TCP data construction.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Complete ownership and distribution copyrights to all work purchased.
## Platform
VB.NET, Windows 98+ (98,Me,2000,XP)