Example program with HTTPServer and sensor data streaming over TCPSockets, using Donatien Garnier's Net APIs and services code on top of LWIP. Files StreamServer.h and .cpp encapsulate streaming over TCPSockets. Broadcast is done by sendToAll(), and all incoming data is echoed back to the client. Echo code can be replaced with some remote control of the streaming interface. See main() that shows how to periodically send some data to all subscribed clients. To subscribe, a client should open a socket at <mbed_ip> port 123. I used few lines in TCL code to set up a quick sink for the data. HTTP files are served on port 80 concurrently to the streaming.
chpms.h
00001 /***************************************************************************** 00002 * chpms.h - Network Microsoft Challenge Handshake Protocol header file. 00003 * 00004 * Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc. 00005 * portions Copyright (c) 1998 Global Election Systems Inc. 00006 * 00007 * The authors hereby grant permission to use, copy, modify, distribute, 00008 * and license this software and its documentation for any purpose, provided 00009 * that existing copyright notices are retained in all copies and that this 00010 * notice and the following disclaimer are included verbatim in any 00011 * distributions. No written agreement, license, or royalty fee is required 00012 * for any of the authorized uses. 00013 * 00014 * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR 00015 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00016 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00017 * IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 00018 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 00019 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00020 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00021 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00022 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00023 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00024 * 00025 ****************************************************************************** 00026 * REVISION HISTORY 00027 * 00028 * 03-01-01 Marc Boucher <marc@mbsi.ca> 00029 * Ported to lwIP. 00030 * 98-01-30 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc. 00031 * Original built from BSD network code. 00032 ******************************************************************************/ 00033 /* 00034 * chap.h - Challenge Handshake Authentication Protocol definitions. 00035 * 00036 * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited. 00037 * http://www.strataware.com/ 00038 * 00039 * All rights reserved. 00040 * 00041 * Redistribution and use in source and binary forms are permitted 00042 * provided that the above copyright notice and this paragraph are 00043 * duplicated in all such forms and that any documentation, 00044 * advertising materials, and other materials related to such 00045 * distribution and use acknowledge that the software was developed 00046 * by Eric Rosenquist. The name of the author may not be used to 00047 * endorse or promote products derived from this software without 00048 * specific prior written permission. 00049 * 00050 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 00051 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 00052 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00053 * 00054 * $Id: chpms.h,v 1.5 2007/12/19 20:47:23 fbernon Exp $ 00055 */ 00056 00057 #ifndef CHPMS_H 00058 #define CHPMS_H 00059 00060 #define MAX_NT_PASSWORD 256 /* Maximum number of (Unicode) chars in an NT password */ 00061 00062 void ChapMS (chap_state *, char *, int, char *, int); 00063 00064 #endif /* CHPMS_H */
Generated on Tue Jul 12 2022 21:10:25 by 1.7.2