## UDPClient (2.1) `November 24 2004`

by Lewis A. Sellers
`Send related correspondence to: webmaster@intrafoundation.com`
Windows COM [w/ C++ source code]

### Description

This COM object UDPClient allows you to talk to anything on the Internet that uses the UDP communications protocol.
UDP is part of the TCP/IP suite which powers the internet and is the "little brother" of the more famous TCP. UDP is an "unreliable connection-less" packet protocol. This means you can send small "post-it note" like messages very, very quickly between machines but there is no guarentee that the message will ever arrive. Compare this to TCP, which is slower to startup, but any data you send is automatically error-corrected and resent if lost along the way. TCP also lets you send a stream of essentially unlimited size, where UDP is limited to about 65,507 bytes at the most.
A COM object (for those of you who are using this software who are not web developers but hardcore gamers) is a type of .DLL. This particular type is the kind that makes up most of the code that powers the Windows Operating System itself. They are essentially self-contained ("encapulated, object-oriented" in tech-speak) programs. Many of the applications you may use (the .EXE files) will make use of COM objects that it brings with it or that are included with the Windows Operating System.
Primarily the only things of real importance these days that use UDP are:
Game servers(!) such as: Quake, Half-Life, Unreal, Wheel of Time, Baldur's Gate, Diablo, Star Trek : Elite Forces, et al (well, perhaps not ALL, but most the ones that anyone cares about).
Hardware-based routers (i.e., CISCOs).
Packet messagers such as ICQ.
For that reason most of the example code you will find here deals with the interrogation of on-line game servers. (Did I hear a small cheer go up?)
Understand that this COM object provides only the elemental, base functionality you need to talk to these UDP servers. As for what you're supposed to say to them and what do the messages they send back mean, well... that's a subject for several heated on-line forum discussions and a half-dozen small project groups to ferret out. I've included example scripts written in ColdFusion meta-language (i.e, the files with those .cfm extensions) that show exactly how to talk to all the games I know how to talk to. You'll have to figure the rest out yourselves. Start by reading a games' official (or unofficial) protocol documents, if any... the rest is up to people willing to pester developers for the information or hackers with packet sniffers and a little imagination.
--min

### TermsOfUse

This software is Copyright (c) 2000, 2001 by Lewis A. Sellers. It is not public domain, nor is it GPL'ed, but it is very close. As long as you do not modify any files in the archive, nor add to them, nor delete any of them, and do not charge for access to said archive you may redistribute the archive as you like.
You may use this software as-is with any software you wish, so long as said archive is included unmodified with proper credits and link to it's homesite is included also (http://www.intrafoundation.com/udpclient.html).
You may modify and use the source code as you like -- with the understanding that if you do, you still have to include the original, unaltered archive as well as the aforementioned credits and link.
You may use this software in commerical applications, whether closed-source or open-source so long as the aforementioned unaltered archive is included with the application and the aforementioned creditation and hyperlink are included.
If this software is used in a released project or included in a publication you are to make reasonable efforts to contact the author and notify them as to such. The author of this software has a primary email address of: lsellers@intrafoundation.com.
You use this software at your own risk.

### Version History

- version 1.12 `November 15 2001` (288 KB)

  My ASP is a bit rusty, but... I added ASP examples for Half-life, RTCW, Quake3, STEF, etc after a bit of prodding by Sakke Huhmarniemi.
  Fixed packetlength and packetposition bug that let "junk" number show up in asp if you weren't connected.
  Added packetEOF property.

There is no gallery currently available.