The Windows Sockets Electronic Discussion List
Page 1 of 50
'HYHORSLQJ7UDQVSRUW,QGHSHQGHQW$SSOLFDWLRQV 8VLQJWKH:...
17 downloads
460 Views
237KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
The Windows Sockets Electronic Discussion List
Page 1 of 50
'HYHORSLQJ7UDQVSRUW,QGHSHQGHQW$SSOLFDWLRQV 8VLQJWKH:LQGRZV6RFNHWV,QWHUIDFH &OLFNWRRSHQRUFRS\WKHSURMHFWILOHV 3UHVHQWHGE\'DYLG7UHDGZHOO 'DYLG7UHDGZHOOKDVEHHQDFWLYHLQ0LFURVRIW:LQGRZV6RFNHWVVLQFHLWVLQFHSWLRQDFWLQJDVDFRDXWKRURIWKHVSHFLILFDWLRQDQGGHYHORSLQJWKH :LQGRZV17RSHUDWLQJV\VWHP:LQGRZV6RFNHWVLQWHUIDFH 3RUWLRQVRIWKLVVHVVLRQDUHUHSULQWHGZLWKSHUPLVVLRQIURP3OXJLQWR6HULRXV1HWZRUN3URJUDPPLQJZLWKWKH:LQGRZV6RFNHWV$3,E\- $OODUG.HLWK0RRUHDQG'DYLG7UHDGZHOO0LFURVRIW6\VWHPV-RXUQDO-XO\0LOOHU)UHHPDQ,QF
,QWURGXFWLRQ ,QWRGD\ VKHWHURJHQHRXVQHWZRUNVRQHWKLQJLVFOHDUFORVHGSURSULHWDU\VWDQGDUGVDUHXQZHOFRPH$VWKHEXVLQHVVRIQHWZRUNLQJFRPSXWHUV KDVHYROYHGRYHUWKHODVWWZRGHFDGHVKDUGZDUHDQGVRIWZDUHSURYLGHUVKDYHOHDUQHGWKDWFRRSHUDWLRQFDQ\LHOGYHU\UHZDUGLQJUHVXOWV7KH 0LFURVRIW:LQGRZV6RFNHWVHIIRUWUHSUHVHQWVDQH[WUHPHO\XVDEOHRSHQQHWZRUNLQJVWDQGDUGGHYHORSHGE\RYHUFRRSHUDWLQJYHQGRUVLQ WKHQHWZRUNLQJFRPPXQLW\ 7KH:LQGRZV6RFNHWV$3,$SSOLFDWLRQ3URJUDPPLQJ,QWHUIDFH SURYLGHVDSSOLFDWLRQVZLWKDQDEVWUDFWLRQRIWKHQHWZRUNLQJVRIWZDUHEHORZLW 7KHSUHVHQW:LQGRZV6RFNHWVVSHFLILFDWLRQYHUVLRQGHILQHVWKLVDEVWUDFWLRQIRUWKH7&3,3RU,QWHUQHWSURWRFROIDPLO\)RUPDQ\WKH 7&3,3SURWRFROVUHSUHVHQWWKHJUHDWHVWFRPPRQGHQRPLQDWRUEHWZHHQWKHPDQ\GLVWLQFWV\VWHPVWKDWPDNHXSWRGD\ VHQWHUSULVHQHWZRUNV ,QIDFWWKH7&3,3SURWRFROVZHUHGHYHORSHGLQDPDQQHUVLPLODUWRWKH:LQGRZV6RFNHWVVSHFLILFDWLRQRSHQFRRSHUDWLRQEHWZHHQPDQ\ LQWHUHVWHGSDUWLHVZLWKGLIIHUHQWUHTXLUHPHQWV:LQGRZV6RFNHWVGRHVQ WVWRSDW7&3,3KRZHYHU7KHOHYHORIDEVWUDFWLRQLVFRPSOHWHHQRXJK WRVXSSRUWRWKHUSURWRFROIDPLOLHVDVZHOOIRUH[DPSOHWKH;HUR[1HWZRUN6\VWHP;16 SURWRFROV'LJLWDO V'(&QHWSURWRFRORU1RYHOO V ,3;63;IDPLO\)RUPDQ\WKHDWWUDFWLRQWR:LQGRZV6RFNHWVLVWKHDELOLW\WRGHYHORSDQGRUUXQD:LQGRZV6RFNHWVFRPSDWLEOHDSSOLFDWLRQ RYHUDQ\YHQGRU V:LQGRZV6RFNHWVFRPSOLDQW7&3,3LPSOHPHQWDWLRQZKLOHSURYLGLQJWKHDELOLW\WRPRYHWKHDSSOLFDWLRQHDVLO\WRRWKHU QHWZRUNLQJSURWRFROV :LQGRZV6RFNHWVLVLPSOHPHQWHGDVD'//G\QDPLFOLQNOLEUDU\ SURYLGHGE\WKHYHQGRURIWKHJLYHQQHWZRUNSURWRFROVRIWZDUH$:LQGRZV 6RFNHWVGHYHORSHUOHYHUDJHVWKH$3,VIURPERWK:LQGRZV6RFNHWVDVZHOODVWKH:LQGRZVRSHUDWLQJV\VWHPLWVHOIWRFUHDWHDQHWZRUNDZDUH :LQGRZVDSSOLFDWLRQ7KHIROORZLQJGLDJUDPLOOXVWUDWHVWKHEDVLFEXLOGLQJEORFNVXVHGWRFUHDWHD:LQGRZV6RFNHWVDSSOLFDWLRQ7KHDUHDV VKDGHGLQJUD\DUHSURYLGHGE\WKHQHWZRUNSURWRFROYHQGRU
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 2 of 50
7KHEDVLFEXLOGLQJEORFNVRID:LQGRZV6RFNHWVDSSOLFDWLRQ 7KHJRDORIWKLVDUWLFOHLVWRRIIHUGHYHORSHUVDWDVWHRIWKLVSRZHUIXOQHZ$3,:HDVVXPHWKDWWKHUHDGHULVIDPLOLDUZLWKERWKQHWZRUNLQJ EDVLFVDVZHOODV:LQGRZVSURJUDPPLQJ7RNHHSWKLQJVVLPSOHZHZLOOIRFXVRXUGLVFXVVLRQRQXVLQJ:LQGRZV6RFNHWVWRGHYHORSQHWZRUN DSSOLFDWLRQVRYHUWKH7&3,3SURWRFROIDPLO\EXWZLOOLQFOXGHVHYHUDOWLSVRQKRZRWKHUWUDQVSRUWSURWRFROVDUHVXSSRUWHGZLWK:LQGRZV 6RFNHWV 7RGD\RYHUDSSOLFDWLRQYHQGRUVKDYHDQQRXQFHGWKHGHYHORSPHQWRIFRPPHUFLDODSSOLFDWLRQVWR:LQGRZV6RFNHWVVXFKDV;:LQGRZV VHUYHUVWHUPLQDOHPXODWRUVDQGHPDLOV\VWHPV6HYHUDOFRPPHUFLDODQGSXEOLFGRPDLQYHUVLRQVRI:LQGRZV6RFNHWVFRPSOLDQW7&3,3VWDFNV DUHDYDLODEOHDQGERWK0LFURVRIW:LQGRZV17DQG&KLFDJRLQFOXGH:LQGRZV6RFNHWVLPSOHPHQWDWLRQVZKLFKDUHFDSDEOHRIVXSSRUWLQJ WUDQVSRUWSURWRFROVLQDGGLWLRQVWR7&3,3VXFKDV,3;63;0DQ\FRUSRUDWHGHYHORSHUVDUHVWDQGDUGL]LQJRQ:LQGRZV6RFNHWVIRU KHWHURJHQHRXVFOLHQWVHUYHUDSSOLFDWLRQGHYHORSPHQWXQGHU0LFURVRIW:LQGRZV :KHWKHU\RX UHGHYHORSLQJFOLHQWVHUYHUSHHUWRSHHURUGLVWULEXWHGQHWZRUNDSSOLFDWLRQV:LQGRZV6RFNHWVUHSUHVHQWVDVWDQGDUG QHWZRUNLQJ$3,IRU0LFURVRIW:LQGRZVZKLFKZLOODOORZ\RXWRGHYHORSIOH[LEOHQHWZRUNLQJDSSOLFDWLRQVIRU7&3,3DQGRWKHUQHWZRUNLQJ SURWRFROV
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 3 of 50
7KH%LUWKRI:LQGRZV6RFNHWV 7KH:LQGRZV6RFNHWVVSHFLILFDWLRQLVWKHUHVXOWRIDFRRSHUDWLYHHIIRUWDPRQJRYHUYHQGRUVLQWKH7&3,3FRPPXQLW\7KHFKDUWHURIWKH JURXSZDVVLPSOHWRGHVLJQDELQDU\FRPSDWLEOH$3,IRUWKH7&3,3SURWRFROIDPLO\XQGHU0LFURVRIW:LQGRZVDOORZLQJIRUIXWXUHVXSSRUWRI DGGLWLRQDOWUDQVSRUWSURWRFROV7KHHIIRUWOHGE\0DUWLQ+DOORI-6%&RUSRUDWLRQZDVNLFNHGRIIDWD%LUGVRID)HDWKHUVHVVLRQDWWKH)DOO ,QWHURSQHWZRUNLQJFRQIHUHQFH ,QIXULDWHGE\DODFNRIVWDQGDUGL]DWLRQ7&3,3DSSOLFDWLRQYHQGRUVOLNH-6%ZHUHIRUFHGWRGHYHORSWKHLUDSSOLFDWLRQVWREHDZDUHRIVHYHUDO GLYHUJHQW$3,V7KLVDOORZHGWKHLUDSSOLFDWLRQVWRUXQRYHUPXOWLSOHYHQGRUV 7&3,3LPSOHPHQWDWLRQPDNLQJWKHLUSURGXFWVDYDLODEOHWRWKH ZLGHVWSRVVLEOHDXGLHQFH:LWKRYHUGLIIHUHQW7&3,3LPSOHPHQWDWLRQVRQWKHPDUNHWPDQ\YHQGRUVFUHDWHGDQDEVWUDFWLRQOD\HUWRWKH QHWZRUNLQWHUIDFHFUHDWLQJDFRPPRQGHQRPLQDWRUZKLFKFRXOGEHVXSSRUWHGE\DOORIWKHLUWDUJHWLPSOHPHQWDWLRQV7KHLUDSSOLFDWLRQZDV WKHQGHYHORSHGWRWKLVSURSULHWDU\DEVWUDFWLRQOD\HU3URYLGHUVRUFRGHZKLFKJOXHGWKHDSSOLFDWLRQWRDVSHFLILFYHQGRU V7&3,3 LPSOHPHQWDWLRQZHUHGHYHORSHGIRUHDFKRIWKH7&3,3LPSOHPHQWDWLRQVZKLFKWKHDSSOLFDWLRQGHVLUHGWRVXSSRUW 7KLVDSSURDFKZDVERWKFRVWO\DQGIUXVWUDWLQJ$SSOLFDWLRQYHQGRUVZHUHFRQWLQXRXVO\XSGDWLQJWKHLUSURYLGHUPRGXOHVDV7&3,3 LPSOHPHQWRUVPRGLILHGRUXSGDWHGWKHLUOLEUDULHV0RUHRYHUQHZLPSOHPHQWDWLRQVZHUHVSULQJLQJXSTXLFNO\DQGLWWRRNWLPHEHIRUHWKH DSSURSULDWHSURYLGHUFRXOGEHPDGHDYDLODEOHWRFXVWRPHUV$SSOLFDWLRQYHQGRUVIRXQGLWGLIILFXOWWRPDLQWDLQWHVWDQGVXSSRUWWKHPXOWLSOH SURYLGHUV7KLVFDXVHG7&3,3LPSOHPHQWRUVGLIILFXOW\DVZHOOHVSHFLDOO\LIDFULWLFDOWKLUGSDUW\DSSOLFDWLRQGLGQ WUXQRYHUWKHLU LPSOHPHQWDWLRQ&XVWRPHUVZHUHIRUFHGWRFKRRVHD7&3,3LPSOHPHQWDWLRQEDVHGRQWKHLUDSSOLFDWLRQQHHGVUDWKHUWKDQWKHPHULWRIYHQGRUV WUDQVSRUWV ,WZRXOGDSSHDUWKDWJHWWLQJWKHGHYHORSHUVRI7&3,3WUDQVSRUWVDQGDSSOLFDWLRQVWRZRUNWKLVRXWZRXOGPDNHDORWRIVHQVH0DUWLQ+DOODFWHG DVWKHFDWDO\VWWRJHWWKLQJVJRLQJTXLFNO\,QIDFWYHQGRUVZHUHVRPRWLYDWHGWRVWUDLJKWHQRXWWKH7&3,3QHWZRUNLQJ$3,FRQIXVLRQWKDWLQ MXVWQLQHPRQWKVWKH:LQGRZV6RFNHWVFRPPLWWHHSXEOLVKHGWKHILUVWYHUVLRQRIWKHVSHFLILFDWLRQ7KHILUVWDQQLYHUVDU\RIWKHHIIRUWZDV FKULVWHQHGE\VHYHUDOWHFKQRORJ\DQGLQWHURSHUDELOLW\GHPRQVWUDWLRQVDW)DOO,QWHURS 7KHPHVVDJHZDVFOHDU:LQGRZV6RFNHWVZDVUHDO
:LQGRZV6RFNHWV$UFKLWHFWXUHV +RZDUHWKH:LQGRZV17DQG&KLFDJRRSHUDWLQJV\VWHPVDEOHWRVXSSRUWVHYHUDOWUDQVSRUWSURWRFROVZLWKDVLQJOH$3,VHW"7KHDQVZHUOLHVLQ WKHFDUHIXOO\GHVLJQHGQHWZRUNDUFKLWHFWXUHVRIWKHVHRSHUDWLQJV\VWHPV%HFDXVHDQXQGHUVWDQGLQJRIWKHXQGHUO\LQJQHWZRUNDUFKLWHFWXUHLV DOZD\VKHOSIXODQGIUHTXHQWO\PDQGDWRU\LQGHVLJQLQJDQGLPSOHPHQWLQJIDVWUREXVWQHWZRUNLQJDSSOLFDWLRQVZH OOEULHIO\GHVFULEHKRZ :LQGRZV6RFNHWVILWVLQWRWKHVHRSHUDWLQJV\VWHPV
:LQGRZV6RFNHWVLQ:LQGRZV17 7KHNH\WRWUDQVSRUWLQGHSHQGHQW:LQGRZV6RFNHWVVXSSRUWLQ:LQGRZV17LVDFRPPRQNHUQHOPRGHWUDQVSRUWLQWHUIDFHFDOOHG7UDQVSRUW 'HYLFH,QWHUIDFHRU7',IRUVKRUW$OORIWKHQHWZRUNLQJFRPSRQHQWVRI:LQGRZV17JRWKURXJK7',WRDFFHVVDWUDQVSRUWSURWRFRO VVHUYLFHV
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 4 of 50
7',DEVWUDFWVNH\GLIIHUHQFHVEHWZHHQSURWRFROVVXFKDVWKHIRUPDWRIWUDQVSRUWDGGUHVVHVDQGSURYLGHVFRPPRQHQWU\SRLQWVIRUW\SLFDO WUDQVSRUWIHDWXUHVOLNHVHQGLQJGDWD
1HWZRUNLQJDUFKLWHFWXUHRI:LQGRZV17 $OOWKHNHUQHOPRGHQHWZRUNLQJFRPSRQHQWVRI:LQGRZV17XVHWKH7',LQWHUIDFHWRVSHDNWRWKHWUDQVSRUWOD\HUVEHORZWKHP7KLVXVHRID FRPPRQLQWHUIDFHDOORZVHDV\DGGLWLRQRUUHPRYDORIWUDQVSRUWSURWRFROVVLQFHHDFKWUDQVSRUWSURWRFROLVFRPSOHWHO\VHSDUDWHGIURPWKH OD\HUVZKLFKXVHLWLQIDFWHDFKWUDQVSRUWLVSDFNDJHGDVDVHSDUDWHGULYHUILOH +RZHYHU7',LVQRWWKHRQO\NHUQHOPRGHWUDQVSRUWLQWHUIDFHDYDLODEOHLQ:LQGRZV177KHUHLVDOVRWKH6WUHDPVLQWHUIDFHZKLFKLVEDVHGRQ WKH$7 76956WUHDPVHQYLURQPHQW6WUHDPVLVXVHIXOIRUSRUWLQJH[LVWLQJWUDQVSRUWSURWRFROVWR:LQGRZV17TXLFNO\DQGHDVLO\+RZHYHU LWGRHVLPSRVHDSHUIRUPDQFHRYHUKHDGRQDOOWUDQVDFWLRQVVLQFHWKHUHLVDPDSSLQJOD\HUEHWZHHQWKH7',FDOOVPDGHE\XSSHUOD\HUVDQGWKH LQWHUQDOLQWHUIDFHVXVHGE\6WUHDPV7KH7&3,3DQG,3;63;WUDQVSRUWSURWRFROVVXSSOLHGZLWKWKHRULJLQDOUHOHDVHRI:LQGRZV17H[LVWHGLQ
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 5 of 50
WKH6WUHDPVHQYLURQPHQWEXW'D\WRQDWKHQH[WUHOHDVHRI:LQGRZV17ZLOOLQFOXGHQDWLYH7',LPSOHPHQWDWLRQVRIWKHVHWUDQVSRUWSURWRFROV IRULPSURYHGSHUIRUPDQFH 7KHXVHRI7',DVWKHLQWHUIDFHXQGHUQHDWK:LQGRZV6RFNHWVVROYHVPRVWRIWKHLVVXHVZLWKPXOWLSOHWUDQVSRUWVXSSRUWEXWVRPHDGGLWLRQDO LVVXHVGRUHPDLQ)RUH[DPSOHEHFDXVHHDFKWUDQVSRUWSURWRFROXVHVDGLIIHUHQWDGGUHVVIRUPDWKRZFRXOG:LQGRZV6RFNHWVNQRZZKLFK DGGUHVVHVDUHEURDGFDVWDGGUHVVHV"+RZFDQWKH:LQGRZV6RFNHWV'//NQRZZKLFKWUDQVSRUWGHYLFHQDPHFRUUHVSRQGVWRDJLYHQW\SHRI VRFNHW"$QGKRZFDQWUDQVSRUWVVXSSO\WKHLURZQXQLTXHVRFNHWRSWLRQVOLNH7&3,3 V62B'2175287(RSWLRQ" 7KHDQVZHULVWKHXVHRIXVHUPRGHKHOSHU'//VZKLFKWKH:LQGRZV6RFNHWV'//:62&.'// XVHVIRUFDUHIXOO\GHILQHGIXQFWLRQDOLW\ (DFKRIWKH7',WUDQVSRUWSURWRFROVH[SRVHGWKURXJK:LQGRZV6RFNHWVVXSSOLHVRQHRIWKHVHKHOSHU'//VDVZHOODVSODFLQJLQIRUPDWLRQLQ :LQGRZV17 VUHJLVWU\DERXWZKHUHWRILQGWKHKHOSHU'//VDQGZKDWVRUWVRIVRFNHWVHDFKVXSSRUWV7KH:LQGRZV6RFNHWV'//WKHQFDOOVLQWR WKHKHOSHU'// VHQWU\SRLQWVWROHDUQDERXWWKHIRUPDWRIWUDQVSRUWDGGUHVVHVWRSURFHVVWUDQVSRUWVSHFLILFVRFNHWRSWLRQVDQGPRUH
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 6 of 50
:LQGRZV6RFNHWVDUFKLWHFWXUHRI:LQGRZV17 ,QDGGLWLRQWRELW:LQGRZV6RFNHWVDSSOLFDWLRQVVXSSRUWHGWKURXJK:62&.'//:LQGRZV17DOVRVXSSRUWVELW:LQGRZV6RFNHWV DSSOLFDWLRQVWKURXJKWKHILOH:,162&.'//7KLVILOHLVFRPSRVHGRIPLQLPDOHQWU\SRLQWVZKLFKFDOOLQWR:LQGRZV17 V:2: :LQGRZVRQ:LQGRZV VXEV\VWHPZKLFKZLGHQVWKHSDUDPHWHUVWRELWVDQGFDOOVLQWR:62&.'//IRUWKHDFWXDOQHWZRUNLQJVXSSRUW 7KXV:,162&.'//DFWVDVDWKXQNLQJOD\HUEHWZHHQELWDSSOLFDWLRQVDQGWKHUHVWRIWKHRSHUDWLQJV\VWHPZKLFKLVDOOELW
:LQGRZV6RFNHWVLQ&KLFDJR 1RWH7KHLQIRUPDWLRQLQWKLVVHFWLRQSHUWDLQVWRWKHQH[WPDMRUUHOHDVHRI:LQGRZVFRGHQDPHG&KLFDJR$OORIWKHLQIRUPDWLRQLQWKLVVHFWLRQ LVSUHOLPLQDU\DQGVXEMHFWWRFKDQJH &KLFDJRDOVRVXSSRUWVPXOWLSOHWUDQVSRUWVXQGHU:LQGRZV6RFNHWVXVLQJWKHVDPHQDPHV:62&.'//DQG:,162&.'//IRUWKHV\VWHP '//VVRWKDWDSSOLFDWLRQELQDU\FRPSDWLELOLW\LVSUHVHUYHG+RZHYHULQWHUQDOO\WKHDUFKLWHFWXUHRI:LQGRZV6RFNHWVLQ&KLFDJRLVVLJQLILFDQWO\ GLIIHUHQWWKDQ:LQGRZV17 VDUFKLWHFWXUH
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 7 of 50
:LQGRZV6RFNHWVDUFKLWHFWXUHRI&KLFDJR 2QHRIWKHNH\GLIIHUHQFHVEHWZHHQWKH&KLFDJRDQG:LQGRZV17:LQGRZV6RFNHWVDUFKLWHFWXUHVLVWKDWWKHUHLVQRWKXQNLQJLQYROYHGIRU ELWDSSOLFDWLRQV7KH:LQGRZV6RFNHWV'//LVFURVVFRPSLOHGLQWRWZRGLIIHUHQWILOHV:62&.'//DQG:,162&.'//(DFKRIWKHVH VSHDNVGLUHFWO\WRWKHXQGHUO\LQJ9['VYLUWXDOGHYLFHGULYHUV ZKLFKSURYLGH:LQGRZV6RFNHWVVXSSRUWWKHUHE\HOLPLQDWLQJDQH[WUDOD\HUIRU ELWDSSOLFDWLRQV
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 8 of 50
1H[W&KLFDJRKDVPXOWLSOHNHUQHOPRGHWUDQVSRUWLQWHUIDFHVLQFOXGLQJERWK7',DQGWKH(&%HYHQWFRQWUROEORFN LQWHUIDFH7KHUHIRUHWKH GULYHUVZKLFKWUDQVODWHEHWZHHQ:LQGRZV6RFNHWVFDOOVDQGWKHWUDQVSRUWGULYHUVDUHGLIIHUHQWIRUHDFKWUDQVSRUW7KH:,162&.9[' SRLQWVWKHXVHUPRGH'//VDWWKHDSSURSULDWHNHUQHOGULYHUWKHQWKH'//VDFFHVV:67&3RU:61:ZKLFKLQWXUQVSHDNWRWKHLU WUDQVSRUWVRYHUHDFKWUDQVSRUW VLQWHUIDFH
7KH6RFNHWV3DUDGLJP 7KH6RFNHWVSDUDGLJPZDVILUVWLQWURGXFHGLQ%HUNHOH\81,;%6' LQWKHHDUO\V,QLWLDOO\GHVLJQHGDVDORFDO,3&LQWHUSURFHVV FRPPXQLFDWLRQ PHFKDQLVPVRFNHWVHYROYHGLQWRDQHWZRUN,3&PHFKDQLVPIRUWKHEXLOWLQ7&3,3SURWRFROIDPLO\$VRFNHWVLPSO\GHILQHVD ELGLUHFWLRQDOHQGSRLQWIRUFRPPXQLFDWLRQEHWZHHQSURFHVVHV%LGLUHFWLRQDOVLPSO\LPSOLHVWKDW:LQGRZV6RFNHWVDOORZDSSOLFDWLRQVWRWUDQVPLW DVZHOODVUHFHLYHGDWDWKURXJKWKHVHFRQQHFWLRQV $VRFNHWKDVWKUHHSULPDU\FRPSRQHQWVWKHLQWHUIDFHWRZKLFKLWLVERXQGVSHFLILHGE\DQ,3DGGUHVV WKHSRUWQXPEHURU,'WRZKLFKLWZLOO EHVHQGLQJRUUHFHLYLQJGDWDDQGWKHW\SHRIVRFNHWHLWKHUVWUHDPRUGDWDJUDP 7\SLFDOO\DVHUYHUDSSOLFDWLRQOLVWHQVRQDZHOONQRZQSRUW RYHUDOOLQVWDOOHGQHWZRUNLQWHUIDFHV2QWKHRWKHUKDQGDFOLHQWJHQHUDOO\LQLWLDWHVFRPPXQLFDWLRQIURPDVSHFLILFLQWHUIDFHIURPDQ\SRUWWKDW WKHV\VWHPKDVDYDLODEOH7KHW\SHRIWKHVRFNHWVWUHDPRUGDWDJUDP GHSHQGVHQWLUHO\RQWKHQHHGVRIWKHDSSOLFDWLRQ:LQGRZV6RFNHWVLV FORVHO\UHODWHGWRWKH%HUNHOH\VRFNHWVPRGHOPDQ\RIWKH$3,VDUHLGHQWLFDORUYHU\FORVH,QDGGLWLRQWRWKH%HUNHOH\VW\OHIXQFWLRQV :LQGRZV6RFNHWVRIIHUVDFODVVRIDV\QFKURQRXVH[WHQVLRQVZKLFKIDFLOLWDWHWKHGHYHORSPHQWRIPRUH:LQGRZVIULHQGO\DSSOLFDWLRQV7KHVH H[WHQVLRQVZLOOEHGLVFXVVHGLQGHWDLOODWHULQWKLVDUWLFOH
6WUHDPYV'DWDJUDP6RFNHWV 7KH:LQGRZV6RFNHWVPRGHORIIHUVVHUYLFHIRUERWKFRQQHFWLRQRULHQWHGDQGFRQQHFWLRQOHVVSURWRFROV,QWKH7&3,3SURWRFROIDPLO\7&3 SURYLGHVDFRQQHFWLRQRULHQWHGVHUYLFHZKHUHDV8'3XVHUGDWDJUDPSURWRFRO RIIHUVFRQQHFWLRQOHVVVHUYLFH,QWKH:LQGRZV6RFNHWVPRGHO FRQQHFWLRQRULHQWHGVHUYLFHLVRIIHUHGE\VWUHDPVRFNHWVFRQQHFWLRQOHVVVHUYLFHLVSURYLGHGE\GDWDJUDPVRFNHWV 7&3LVDUHOLDEOHFRQQHFWLRQRULHQWHGSURWRFROXVHGE\DSSOLFDWLRQVZKLFKHLWKHUSODQWRH[FKDQJHODUJHDPRXQWVRIGDWDDWDWLPHRUE\ DSSOLFDWLRQVZKLFKUHTXLUHUHOLDELOLW\DQGVHTXHQFLQJ)RUH[DPSOH)73ILOHWUDQVIHUSURWRFRO DSURWRFROZKLFKIDFLOLWDWHVWKHELQDU\RU$6&,, WUDQVIHURIDUELWUDULO\ODUJHILOHVUHSUHVHQWVDQDSSOLFDWLRQZULWWHQWR7&3RUVWUHDPVRFNHWV,QFRQWUDVWLIDQDSSOLFDWLRQLVZLOOLQJWRPDQDJH LWVRZQVHTXHQFLQJRUUHOLDELOLW\RULVXVLQJWKHQHWZRUNIRUORZEDQGZLGWKLWHUDWLYHSURFHVVLQJ8'3LVRIWHQXVHG$QDSSOLFDWLRQZKLFKNHHSV V\VWHPFORFNVV\QFKURQL]HGE\SHULRGLFDOO\EURDGFDVWLQJLWVV\VWHPWLPHZRXOGSUREDEO\EHZULWWHQWRXVH8'3
1HWZRUNE\WH2UGHU 6LQFH:LQGRZV6RFNHWVDSSOLFDWLRQVFDQ WSRVVLEO\EHDZDUHRIZKDWW\SHRIUHPRWHFRPSXWHUV\VWHPWKDWWKH\ZLOOEHGHDOLQJZLWKDSULRULLW LVQHFHVVDU\WRGHILQHDFRPPRQGDWDUHSUHVHQWDWLRQPRGHOIRUYLWDOLQIRUPDWLRQ:LQGRZV6RFNHWVFKRVHWKHELJHQGLDQPRGHOIRUWKH RQWKHZLUHGDWDUHSUHVHQWDWLRQNQRZQDVQHWZRUNE\WHRUGHU
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 9 of 50
7KH:LQGRZV6RFNHWVLQWHUIDFHRIIHUV$3,VWRDSSOLFDWLRQSURJUDPPHUVWRGRWKHQHFHVVDU\FRQYHUVLRQEHWZHHQWKHORFDOV\VWHP UHSUHVHQWDWLRQRUKRVWE\WHRUGHU DQGQHWZRUNE\WHRUGHU7KHUHLVQRKDUPLQXVLQJWKHVHURXWLQHVRQV\VWHPVZKLFKVWRUHGDWDLQ ELJHQGLDQQDWLYHO\LQIDFWLW VHQFRXUDJHG%\UHOLJLRXVO\XVLQJWKHE\WHRUGHULQJ$3,V\RXUFRGHFDQEHXVHGRQV\VWHPVZLWKGLIIHUHQW LQWHUQDOUHSUHVHQWDWLRQVZLWKRXWLQKHULWLQJE\WHRUGHULQJSUREOHPVWKHUHE\PDNLQJ\RXUFRGHPRUHSRUWDEOH
$*XLGHG7RXURIWKH:LQGRZV6RFNHWV$3, $OWKRXJKWKH:LQGRZV6RFNHWVVSHFLILFDWLRQGHILQHVDOORIWKH:LQGRZV6RFNHWVIXQFWLRQVDQGVWUXFWXUHVWKLVJXLGHGWRXURIWKH$3,ZLOOJLYH \RXDEDVLFXQGHUVWDQGLQJRIWKHEXLOGLQJEORFNVRID:LQGRZV6RFNHWVDSSOLFDWLRQ)ROORZLQJWKHZDONWKURXJKZHZLOOGLVFXVVWKHXVHRI :LQGRZV6RFNHWVE\WKH:RUP+ROHVDPSOHDSSOLFDWLRQ
7KH%DVLF6WUXFWXUHV $OWKRXJKWKH:LQGRZV6RFNHWVVSHFLILFDWLRQFRQWDLQVDERXWDGR]HQGLIIHUHQWVWUXFWXUHVDSSOLFDWLRQGHYHORSHUVZLOOTXLFNO\EHFRPHIDPLOLDU ZLWKDIHZWKDWDUHUHTXLUHGE\QHDUO\DOO:LQGRZV6RFNHWVDSSOLFDWLRQV
struct sockaddr { u_short sa_family; char sa_data[14]; }; struct sockaddr_in { short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; }; 7KHVRFNDGGUVWUXFWXUHLVXVHGE\:LQGRZV6RFNHWVWRVSHFLI\DORFDORUUHPRWHHQGSRLQWDGGUHVVWRZKLFKWRFRQQHFWDVRFNHW$QHQGSRLQW DGGUHVVVLPSO\FRQWDLQVWKHDSSURSULDWHLQIRUPDWLRQWRVHQGGDWDEHWZHHQWZRVRFNHWVRQGLIIHUHQWV\VWHPV$VWKHFRQWHQWVRIHQGSRLQW DGGUHVVHVGLIIHUEHWZHHQQHWZRUNSURWRFROIDPLOLHVWKHVRFNDGGUVWUXFWXUHZDVGHVLJQHGWRDFFRPPRGDWHHQGSRLQWDGGUHVVHVRIYDULDEOHVL]H VDWLVI\LQJUHTXLUHPHQWVRIPDQ\FRPPRQQHWZRUNSURWRFROIDPLOLHV7KHILUVWILHOGRIDVRFNDGGUFRQWDLQVWKHIDPLO\QXPEHULGHQWLI\LQJWKH IRUPDWRIWKHUHPDLQLQJSDUWRIWKHDGGUHVV ,QWKH,QWHUQHWDGGUHVVIDPLO\WKHVRFNDGGUBLQVWUXFWXUHLVXVHGWRVWRUHWKHHQGSRLQWDGGUHVVLQIRUPDWLRQDQGLVFDVWWRW\SHVRFNDGGUIRUWKH IXQFWLRQVZKLFKUHTXLUHLW2WKHUDGGUHVVIDPLOLHVPXVWGHILQHWKHLURZQVRFNDGGUBVWUXFWXUHVDVDSSURSULDWHIRUWKHLUQHHGV)RU7&3,3WKH VRFNDGGUBLQVWUXFWXUHEUHDNVWKHHQGSRLQWDGGUHVVLQWRLWVWZRFRPSRQHQWVSRUW,'VLQBSRUW DQG,3DGGUHVVVLQBDGGU DQGSDGVWKH UHPDLQLQJHLJKWE\WHVRIWKHHQGSRLQWDGGUHVVZLWKDFKDUDFWHUVWULQJVLQB]HUR 7KHSRUWDQG,3DGGUHVVYDOXHVDUHDOZD\VVSHFLILHGLQ QHWZRUNE\WHRUGHU7KHYDOXHIRUVLQBIDPLO\XQGHU7&3,3LVDOZD\V$)B,1(7DGGUHVVIDPLO\,QWHUQHW
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List struct
hostent { char FAR * char FAR * FAR * short short char FAR * FAR *
Page 10 of 50
h_name; h_aliases; h_addrtype; h_length; h_addr_list;
}; 7KHKRVWHQWVWUXFWXUHLVJHQHUDOO\XVHGE\WKH:LQGRZV6RFNHWVGDWDEDVHURXWLQHVWRUHWXUQKRVWRUV\VWHPLQIRUPDWLRQDERXWDVSHFLILHG V\VWHPRQWKHQHWZRUN7KHKRVWVWUXFWXUHFRQWDLQVWKHSULPDU\QDPHIRUDV\VWHPLQFOXGLQJRSWLRQDODOLDVHVIRUWKHSULPDU\QDPH $GGLWLRQDOO\LWFRQWDLQVDOLVWRIDGGUHVVHV IRUWKHVSHFLILHGV\VWHP7KLVLQIRUPDWLRQLVJHQHUDOO\VRXJKWIRUWKHUHPRWHV\VWHPWRZKLFKDQ DSSOLFDWLRQLVFRQQHFWLQJXVLQJWKH:LQGRZV6RFNHWVGDWDEDVHURXWLQHVGHVFULEHGODWHU
struct
protoent { char FAR * char FAR * FAR * short
p_name; p_aliases; p_proto;
servent { char FAR * char FAR * FAR * short char FAR *
s_name; s_aliases; s_port; s_proto;
}; struct
}; 7KHSURWRHQWDQGVHUYHQWVWUXFWXUHVDUHDOVRILOOHGE\WKH:LQGRZV6RFNHWVGDWDEDVHURXWLQHV7KHVHVWUXFWXUHVFRQWDLQLQIRUPDWLRQDERXWD SDUWLFXODUSURWRFRO7&3RU8'3 RUVHUYLFHILQJHURUWHOQHWIRUH[DPSOH UHVSHFWLYHO\$ORQJZLWKWKHSULPDU\QDPHDQGDQDUUD\RIDOLDVHV IRUWKHSURWRFRORUVHUYLFHWKHVHVWUXFWXUHVDOVRFRQWDLQWKHLUFRUUHVSRQGLQJELW,'VQHFHVVDU\WREXLOGDYDOLG7&3,3HQGSRLQWDGGUHVV
typedef struct WSAData { WORD WORD char char unsigned short unsigned short char FAR * } WSADATA;
wVersion; wHighVersion; szDescription[WSADESCRIPTION_LEN+1]; szSystemStatus[WSASYS_STATUS_LEN+1]; iMaxSockets; iMaxUdpDg; lpVendorInfo;
)LQDOO\WKH:6$'DWDVWUXFWXUHLVILOOHGLQE\D:LQGRZV6RFNHWV'//ZKHQDQDSSOLFDWLRQFDOOVWKH:6$6WDUWXS $3,$ORQJZLWK:LQGRZV
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 11 of 50
6RFNHWVYHUVLRQLQIRUPDWLRQWKHVWUXFWXUHDOVRFRQWDLQVYHQGRUVSHFLILFLQIRUPDWLRQVXFKDVWKHPD[LPXPQXPEHURIVRFNHWVDYDLODEOHDQG WKHPD[LPXPGDWDJUDPVL]H7KHV]'HVFULSWLRQDQGV]6\VWHP6WDWXVPHPEHUVFDQEHXVHGE\DQLPSOHPHQWDWLRQWRLGHQWLI\LWVHOIDQGWKH FXUUHQWVWDWXVRIWKH'//)RUH[DPSOHDQLPSOHPHQWDWLRQPD\UHWXUQWKHWH[W-RH V6KDUH:DUH:LQGRZV6RFNHWVLPSOHPHQWDWLRQY LQV]'HVFULSWLRQ7KHVSHFLILFDWLRQRIWKHOS9HQGRU,QIRPHPEHULVFRPSOHWHO\XSWRDQLPSOHPHQWRUDQGLVQRWGHILQHGLQWKH :LQGRZV6RFNHWVVSHFLILFDWLRQ
6HWWLQJ8SDQG&OHDQLQJ8Ss_port; 7KHH[DPSOHXVHVJHWVHUYE\QDPH WRUHVROYHWKHSRUWQXPEHURIWKH)73VHUYLFHRYHU7&37KHSRUW,'LVXVHGWRFRQVWUXFWWKHVRFNDGGUBLQ VWUXFWXUHHQGSRLQWDGGUHVV IRUIXWXUHXVHE\WKHDSSOLFDWLRQ$VZHPHQWLRQHGEHIRUHWKHDGGUHVVIDPLO\IRU7&3,3LVDOZD\VDVVLJQHGDV
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 15 of 50
$)B,1(7:HXVHWKH,1$''5B$1s_port;
/* Allow the server to accept connections
/* over any inte
/* Bind remote server’s address and port */ if (bind(srv_sock,(LPSOCKADDR)&srv_addr,sizeof(srv_addr))==SOCKET_ERROR){ sprintf(buf,"Windows Sockets error %d: Couldn’t bind socket.", WSAGetLastError());
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 25 of 50
MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_app(); } /* Client-server network interaction takes place here */ &OLHQWVLGHFRQQHFWLRQOHVV
/* Static IP address for remote server for example. In reality, this would be specified as a hostname or IP address by the user */ #define
SERVER
"131.107.1.121"
struct sockaddr_in srv_addr,cli_addr; LPSERVENT srv_info; LPHOSTENT host_info; SOCKET cli_sock; . . /* Create client-side datagram socket */ cli_sock=socket(PF_INET,SOCK_DGRAM); if (cli_sock==INVALID_SOCKET){ sprintf(buf,"Windows Sockets error %d: Couldn’t create socket.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_app(); } cli_addr.sin_family=AF_INET; cli_addr.sin_addr.s_addr=INADDR_ANY; cli_addr.sin_port=0; /* no specific local port req’d */ /* Bind local socket */ if (bind(cli_sock,(LPSOCKADDR)&cli_addr,sizeof(cli_addr))==SOCKET_ERROR){ sprintf(buf,"Windows Sockets error %d: Couldn’t bind socket.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_app(); }
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 26 of 50
/* Resolve port information for TFTP service */ srv_info=getservbyname("tftp","udp"); if (srv_info== NULL) { sprintf(buf,"Windows Sockets error %d: Couldn’t resolve TFTP service port.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_app(); } srv_addr.sin_family = AF_INET; srv_addr.sin_addr.s_addr = inet_addr(SERVER); srv_addr.sin_port=srv_info->s_port; if (connect(cli_sock,(LPSOCKADDR)&srv_addr,sizeof(srv_addr))==SOCKET_ERROR){ sprintf(buf,"Windows Sockets error %d: Couldn’t connect socket.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_app(); } /* Client-server network interaction takes place here */ 6LQFHDFRQQHFWLRQOHVVFOLHQWVXFKDV7)73 ZLOOXQGRXEWHGO\EHGRLQJVXFFHVVLYHWUDQVPLVVLRQVZLWKWKHVHUYHUHVSHFLDOO\GXULQJORQJ WUDQVIHUV ZHKDYHFKRVHQWRFRQQHFWWKHVRFNHWDOORZLQJWKHXVHRIWKHVHQG DQGUHFY $3,VUDWKHUWKDQVHQGWR DQGUHFYIURP 7KH XVHRIFRQQHFW ZLWKGDWDJUDPVRFNHWVLVSXUHO\RSWLRQDO
6HQGLQJDQG5HFHLYLQJ'DWDVWUHDPVRFNHWV 2QFHDQDSSOLFDWLRQVXFFHVVIXOO\HVWDEOLVKHVDVRFNHWFRQQHFWLRQLWLVUHDG\WRVWDUWWUDQVIHUULQJGDWDRYHUWKHFRQQHFWLRQ:LWKVWUHDP7&3 VRFNHWVGDWDWUDQVIHULVVDLGWREHUHOLDEOHPHDQLQJWKDWWKHDSSOLFDWLRQPD\DVVXPHWKDWWKHXQGHUO\LQJWUDQVSRUWZLOOHQVXUHWKDWWKHGDWD JHWVWRWKHUHPRWHKRVWZLWKRXWGXSOLFDWLRQRUFRUUXSWLRQ:KHQDFRQQHFWLRQLVHVWDEOLVKHGRQDVWUHDPVRFNHWDWKH7&3WUDQVSRUWFUHDWHVD YLUWXDOFLUFXLWEHWZHHQWKHWZRPDFKLQHV7KLVFLUFXLWUHPDLQVRSHQXQWLOERWKDSSOLFDWLRQVGHFLGHWKDWWKH\DUHGRQHVHQGLQJGDWDRQWKH FLUFXLWW\SLFDOO\DJUDFHIXOFORVH RUXQWLODQHWZRUNHUURURFFXUVZKLFKFDXVHVWKHFLUFXLWWREHWHUPLQDWHGDEQRUPDOO\ $QDSSOLFDWLRQVHQGVGDWDXVLQJWKHVHQG $3,7KLV$3,WDNHVDVRFNHWGHVFULSWRUDSRLQWHUWRDEXIIHUWRVHQGWKHOHQJWKRIWKHEXIIHUDQG DQLQWHJHUZKLFKVSHFLILHVIODJVZKLFKFDQPRGLI\WKHEHKDYLRURIVHQG 7RUHFHLYHGDWDDQDSSOLFDWLRQXVHVWKHUHFY $3,ZKLFKWDNHVD SRLQWHUWRDEXIIHUWRILOOZLWKGDWDWKHOHQJWKRIWKHVSHFLILHGEXIIHUDQGDIODJVLQWHJHUUHFY UHWXUQVWKHQXPEHURIE\WHVDFWXDOO\UHFHLYHG DQGVHQG UHWXUQVWKHQXPEHURIE\WHVDFWXDOO\VHQW1RWHWKDWDSSOLFDWLRQVVKRXOGDOZD\VFKHFNWKHUHWXUQFRGHVRIVHQG DQGUHFY IRUWKH QXPEHURIE\WHVDFWXDOO\WUDQVIHUUHGVLQFHLWPD\EHGLIIHUHQWIURPWKHQXPEHUUHTXHVWHG%HFDXVHRIWKHVWUHDPRULHQWHGQDWXUHRI7&3 VRFNHWVWKHUHLVQ WQHFHVVDULO\DRQHWRRQHFRUUHVSRQGHQFHEHWZHHQVHQG DQGUHFY FDOOV)RUH[DPSOHDFOLHQWDSSOLFDWLRQPD\SHUIRUP WHQFDOOVWRVHQG HDFKIRUE\WHV7KHV\VWHPPD\FRPELQHRUFRDOHVFHWKHVHVHQGVLQWRDVLQJOHQHWZRUNSDFNHWVRWKDWLIWKHVHUYHU
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 27 of 50
DSSOLFDWLRQGLGDUHFY ZLWKDEXIIHURIE\WHVLWZRXOGJHWDOOWKHGDWDDWRQFH 7KHUHIRUHDQDSSOLFDWLRQPXVWQRWPDNHDQ\DVVXPSWLRQVDERXWKRZGDWDZLOODUULYH$VHUYHUZKLFKH[SHFWVWRUHFHLYHE\WHVVKRXOGFDOO UHFY LQDORRSXQWLOLWKDVUHFHLYHGDOORIWKHGDWD
SOCKET int char char int
s; bytes_received; buffer[1000]; *buffer_ptr; buffer_length;
. . buffer_ptr = buffer; buffer_length = sizeof(buffer); /* Receive all outstanding data on socket s */ do { bytes_received = recv(s, buffer_ptr, buffer_length, 0); if (bytes_received == SOCKET_ERROR) { sprintf(buf,"Windows Sockets error %d: Error while receiving data.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_app(); } buffer_ptr += bytes_received; buffer_length -= bytes_received; } while (buffer_length > 0); /LNHZLVHDQDSSOLFDWLRQZKLFKZDQWVWRVHQGE\WHVVKRXOGVHQG LQDORRSXQWLODOORIWKHGDWDKDVEHHQVHQW
SOCKET int char char int
s; bytes_sent; buffer[1000]; *buffer_ptr; buffer_length;
buffer_ptr = buffer; buffer_length = sizeof(buffer); /* Enter send loop until all data in buffer is sent */
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 28 of 50
do { bytes_sent = send(s, buffer_ptr, buffer_length, 0); if (bytes_sent == SOCKET_ERROR) { sprintf(buf,"Windows Sockets error %d: Error while sending data.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_app(); } buffer_ptr += bytes_sent; buffer_length -= bytes_sent; } while (buffer_length > 0);
6HQGLQJDQG5HFHLYLQJ'DWDGDWDJUDPVRFNHWV 'DWDWUDQVPLVVLRQRQGDWDJUDPVRFNHWVLVVLJQLILFDQWO\GLIIHUHQWIURPVWUHDPVRFNHWV7KHPRVWLPSRUWDQWGLIIHUHQFHLVWKDWWUDQVPLVVLRQLVQRW UHOLDEOHRQGDWDJUDPVRFNHWV7KLVPHDQVWKDWLIDQDSSOLFDWLRQDWWHPSWVWRVHQGGDWDWRDQRWKHUDSSOLFDWLRQWKHV\VWHPGRHVQRWKLQJWR JXDUDQWHHWKDWWKHGDWDZLOODFWXDOO\EHGHOLYHUHGWRWKHUHPRWHDSSOLFDWLRQ5HOLDELOLW\ZLOOWHQGWREHJRRGRQ/$1VORFDODUHDQHWZRUNVVXFK DVDQHWZRUNFRQQHFWLQJVHYHUDOFRPSXWHUVZLWKLQDVLQJOHEXLOGLQJ EXWFDQEHYHU\SRRURQ:$1VZLGHDUHDQHWZRUNVVXFKDVWKH,QWHUQHW ZKLFKFRQQHFWVKXQGUHGVRIWKRXVDQGVRIFRPSXWHUVZRUOGZLGH 7KHQH[WLPSRUWDQWGLIIHUHQFHLQGDWDJUDPVRFNHWVLVWKDWWKH\DUHFRQQHFWLRQOHVV7KLVPHDQVWKDWWKHUHLVQRGHIDXOWUHPRWHDGGUHVV DVVLJQHGWRWKHP)RUWKLVUHDVRQDQDSSOLFDWLRQZKLFKZDQWVWRVHQGGDWDPXVWVSHFLI\WKHDGGUHVVWRZKLFKWKHGDWDLVGHVWLQHGZLWKWKH VHQGWR $3,,QDGGLWLRQDQDSSOLFDWLRQW\SLFDOO\ZDQWVWRNQRZZKHUHGDWDFDPHIURPVRLWUHFHLYHVGDWDZLWKWKHUHFYIURP $3,ZKLFK UHWXUQVWKHDGGUHVVRIWKHVHQGHURIWKHGDWD 7KHILQDOVLJQLILFDQWGLIIHUHQFHLQGDWDWUDQVPLVVLRQIRUGDWDJUDPVRFNHWVLVWKDWLWLVPHVVDJHRULHQWHG7KLVPHDQVWKDWWKHUHLVD RQHWRRQHFRUUHVSRQGHQFHEHWZHHQVHQGWR DQGUHFYIURP FDOOVDQGWKDWWKHV\VWHPGRHVQRWFRDOHVFHGDWDZKHQVHQGLQJLW)RUH[DPSOH LIDQDSSOLFDWLRQPDNHVFDOOVWRVHQGWR ZLWKDEXIIHURIWZRE\WHVWKHUHPRWHDSSOLFDWLRQZLOOQHHGWRSHUIRUPFDOOVWRUHFYIURP ZLWK DEXIIHURIDWOHDVWWZRE\WHVWRUHFHLYHDOOWKHGDWD %HORZLVDFRGHIUDJPHQWIURPDGDWDJUDPVRFNHWVDSSOLFDWLRQZKLFKHFKRVGDWDJUDPVEDFNWRWKHVHQGHU
SOCKET SOCKADDR_IN int BYTE int
s; remoteAddr; remoteAddrLength = sizeof(remoteAddr); buffer[1024]; bytesReceived;
for ( ; ; ) { /* Receive a datagram on socket s */
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 29 of 50
bytesReceived = recvfrom( s, buffer, sizeof(buffer),0, (PSOCKADDR)&remoteAddr, &remoteAddrLength ); /* Echo back to the server as long as bytes were received */ if ( bytesReceived != SOCKET_ERROR || sendto( s, buffer, bytesRecieved, 0, (PSOCKADDR)&remoteAddr, remoteAddrLength ) == SOCKET_ERROR ){ sprintf(buf,"Windows Sockets error %d: Error while sending data.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } } $VPHQWLRQHGHDUOLHULWLVSRVVLEOHWRFRQQHFW DGDWDJUDPVRFNHW2QFHDGDWDJUDPVRFNHWLVFRQQHFWHGDOOGDWDLVVHQWDQGUHFHLYHGIURP WKHUHPRWHDGGUHVVWRZKLFKWKHGDWDJUDPLVFRQQHFWHGVRLWLVSRVVLEOHWRXVHWKHVHQG DQGUHFY $3,VRQFRQQHFWHGGDWDJUDPVRFNHWV
7HUPLQDWLQJD&RQQHFWLRQ $QDSSOLFDWLRQKDVVHYHUDORSWLRQVIRUWHUPLQDWLQJDFRQQHFWLRQ7KHVLPSOHVWLVWRFDOOWKHFORVHVRFNHW $3,ZKLFKWDNHVRQO\DVRFNHW GHVFULSWRUDVLQSXW7KLV$3,IUHHVUHVRXUFHVDVVRFLDWHGZLWKDVRFNHWDQGLQLWLDWHVWKHJUDFHIXOFORVHVHTXHQFH7KLVVHTXHQFHLVFRPSOHWHG ZKHQWKHUHPRWHDSSOLFDWLRQDOVRFORVHVLWVVRFNHW ,IDQDSSOLFDWLRQGHWHUPLQHVWKDWLWLVGRQHVHQGLQJGDWDEXWPD\ZDQWWRUHFHLYHPRUHGDWDLWFDQFDOOWKHVKXWGRZQ $3,7KLV$3,QRWLILHV WKHUHPRWHHQGWKDWWKHORFDODSSOLFDWLRQZRQ WEHVHQGLQJDQ\PRUHGDWDEXWPD\FRQWLQXHWRUHFHLYHGDWD /DVWO\DQDSSOLFDWLRQPD\FDXVHDQDERUWLYHRUKDUGFORVHRQDFRQQHFWLRQZLWKWKH62B/,1*(5VRFNHWRSWLRQLQFRQMXQFWLRQZLWK FORVHVRFNHW 6HWWLQJWKHOLQJHUWLPHRXWWRFDXVHVWKHFLUFXLWWREHWHUPLQDWHGLPPHGLDWHO\UHJDUGOHVVRIZKHWKHUWKHUHPRWHHQGKDV FRPSOHWHGLWVGDWDWUDQVIHUDQGDQ\XQUHFHLYHGRUXQVHQWGDWDLVGURSSHG7KHUHIRUHWKLVRSWLRQVKRXOGEHXVHGZLWKFDXWLRQDQGRQO\LIWKH UHVXOWVDUHXQGHUVWRRGDQGLQWHQGHG7KHIROORZLQJFRGHIUDJPHQWGHPRQVWUDWHVKRZWRSHUIRUPDKDUGFORVHRQDFRQQHFWLRQ
LINGER INT SOCKET
lingerInfo; err; s;
/* First set the linger timeout on the socket to 0. /* cause the connection to be reset. */
This will */
lingerInfo.l_onoff = 1;
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 30 of 50
lingerInfo.l_linger = 0; setsockopt( s, SOL_SOCKET, SO_LINGER, (char *)&lingerInfo,sizeof(lingerInfo) ); closesocket(s); +RZFDQDQDSSOLFDWLRQNQRZWKDWWKHUHPRWHHQGKDVWHUPLQDWHGWKHFRQQHFWLRQ"7KHDQVZHUGHSHQGVRQZKHWKHUWKHUHPRWHHQGWHUPLQDWHG WKHFRQQHFWLRQJUDFHIXOO\RUDERUWLYHO\,IWKHWHUPLQDWLRQZDVDERUWLYHWKHQVHQG DQGUHFY FDOOVZLOOIDLOZLWKWKHHUURU:6$(&2115(6(7 7KLVLQGLFDWHVWRDQDSSOLFDWLRQWKDWGDWDPD\KDYHEHHQORVWDQGWKHHUURUFRQGLWLRQVKRXOGEHUHSRUWHGWRWKHXVHU ,IWKHWHUPLQDWLRQZDVJUDFHIXOWKHQDQ\UHFY FDOOVPDGHDIWHUDOOGDWDKDVEHHQUHFHLYHGZLOOUHWXUQWKHYDOXH]HURDVWKHQXPEHURIE\WHV UHFHLYHG7KLVLQGLFDWHVWKDWWKHUHPRWHHQGKDVJUDFHIXOO\WHUPLQDWHGLWVHQGRIWKHFRQQHFWLRQDQGWKHORFDOHQGPD\FORVHWKHVRFNHWZLWKRXW IHDURIGDWDORVV7KHIROORZLQJFRGHIUDJPHQWLOOXVWUDWHVKRZDQDSSOLFDWLRQLQLWLDWHVDJUDFHIXOFORVHDQGWKHQZDLWVIRUWKHUHPRWHHQGWR FORVHJUDFHIXOO\EHIRUHFORVLQJWKHVRFNHW
SOCKET INT BYTE
s; err; buffer[1024];
err = shutdown( s , 1 ); if ( err == SOCKET_ERROR ) { sprintf(buf,"Windows Sockets error %d: Error during shutdown.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } /* Receive the rest of the pending data */ while ( (err = recv( s, buffer, sizeof(buffer), 0 ) != 0 ) { if ( err == SOCKET_ERROR ) { sprintf(buf,"Windows Sockets error %d: Error while receiving data.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } . . /* do something with the data we received. */ . . }
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List /* The other side has also terminated.
Page 31 of 50 we can safely close now */
closesocket( s ); 1RWHWKDWLQWKLVH[DPSOHWKHDSSOLFDWLRQNHHSVFDOOLQJUHFY XQWLOLWUHWXUQV]HURE\WHVUHFHLYHG,IDQDSSOLFDWLRQFORVHVDVRFNHWDQGWKHUHLV GDWDDYDLODEOHWREHUHFHLYHGRUGDWDODWHUDUULYHVWKHQWKHV\VWHPZLOODERUWWKHFRQQHFWLRQDQGWKURZRXWWKHGDWDVLQFHWKHUHLVQRERG\WR JLYHWKHGDWDWR:HOOEHKDYHGDSSOLFDWLRQVVKRXOGHQVXUHWKDWWKH\UHFHLYHDOOGDWDEHIRUHFORVLQJDVRFNHW
$V\QFKURQRXV:LQGRZV6RFNHWV&DOOV %\GHIDXOWDQDSSOLFDWLRQ VVRFNHWFDOOVZLOOEORFNXQWLOWKHUHTXHVWHGRSHUDWLRQFDQEHFRPSOHWHG)RUH[DPSOHLIDQDSSOLFDWLRQZLVKHVWR UHFHLYHGDWDIURPDQRWKHUDSSOLFDWLRQLWVFDOOWRWKHUHFY $3,ZLOOQRWFRPSOHWHXQWLOWKHRWKHUDSSOLFDWLRQKDVVHQWGDWDZKLFKFDQEH UHWXUQHGWRWKHFDOOLQJDSSOLFDWLRQ 7KLVPRGHOLVVXIILFLHQWIRUVLPSOHDSSOLFDWLRQVEXWPRUHVRSKLVWLFDWHGDSSOLFDWLRQVPD\QRWZLVKWREORFNIRUDQDUELWUDULO\ORQJSHULRGIRUD QHWZRUNHYHQW,QIDFWLQ:LQGRZVEORFNLQJRSHUDWLRQVDUHFRQVLGHUHGSRRUSURJUDPPLQJSUDFWLFHEHFDXVHDSSOLFDWLRQVDUHH[SHFWHGWR FDOO3HHN0HVVDJH RU*HW0HVVDJH UHJXODUO\LQRUGHUWRDOORZRWKHUDSSOLFDWLRQVWRUXQDQGWRUHFHLYHXVHULQSXW 7RVXSSRUWWKHVRSKLVWLFDWHGDSSOLFDWLRQVZKLFKILWEHWWHUZLWKLQWKH:LQGRZVSURJUDPPLQJSDUDGLJP:LQGRZV6RFNHWVVXSSRUWVWKHFRQFHSW RIQRQEORFNLQJVRFNHWV,IDQDSSOLFDWLRQVHWVDVRFNHWWRQRQEORFNLQJWKHQDQ\RSHUDWLRQZKLFKPD\EORFNIRUDQH[WHQGHGSHULRGZLOOIDLO ZLWKWKHHUURUFRGH:6$(:28/'%/2&.7KLVHUURULQGLFDWHVWRWKHDSSOLFDWLRQWKDWWKHV\VWHPZDVXQDEOHWRSHUIRUPWKHUHTXHVWHGRSHUDWLRQ LPPHGLDWHO\ +RZWKHQGRHVDQDSSOLFDWLRQNQRZZKHQLWFDQVXFFHVVIXOO\SHUIRUPFHUWDLQRSHUDWLRQV"3ROOLQJZRXOGEHRQHSRRU VROXWLRQ7KHRSWLPDO PHFKDQLVPLVWRXVHWKHDV\QFKURQRXVQRWLILFDWLRQPHFKDQLVPSURYLGHGE\WKH:6$$V\QF6HOHFW $3,7KLVURXWLQHDOORZVDQDSSOLFDWLRQWR QRWLI\D:LQGRZV6RFNHWVLPSOHPHQWDWLRQRIFHUWDLQHYHQWVZKLFKDUHRILQWHUHVWDQGWRUHFHLYHD:LQGRZVPHVVDJHZKHQWKHHYHQWVRFFXU )RUH[DPSOHDQDSSOLFDWLRQPD\LQGLFDWHLQWHUHVWLQGDWDDUULYDOZLWKWKH)'B5($'PHVVDJHDQGZKHQGDWDDUULYHVWKH:LQGRZV6RFNHWV'// SRVWVDPHVVDJHWRWKHDSSOLFDWLRQ VZLQGRZKDQGOH7KHDSSOLFDWLRQUHFHLYHVWKLVPHVVDJHLQD*HW0HVVDJH RU3HHN0HVVDJH FDOODQGFDQ WKHQSHUIRUPWKHFRUUHVSRQGLQJRSHUDWLRQ 7KHIROORZLQJFRGHIUDJPHQWGHPRQVWUDWHVKRZDQDSSOLFDWLRQRSHQVDQGFRQQHFWVD7&3VRFNHWDQGLQGLFDWHVWKDWLWLVLQWHUHVWHGLQEHLQJ QRWLILHGZKHQRQHRIWKUHHQHWZRUNHYHQWVRFFXUV
GDWDDUULYHVRQWKHVRFNHW
LWLVSRVVLEOHWRVHQGGDWDRQWKHVRFNHW
WKHUHPRWHHQGKDVFORVHGWKHVRFNHW
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 32 of 50
/* Static IP address for remote server for example. In reality, this would be specified as a hostname or IP address by the user */ #define #define #define
SERVER
"131.107.1.121"
SOCKET_MESSAGE SERVER_PORT
WM_USER+1 4000
struct sockaddr_in srv_addr; SOCKET cli_sock; . . . /* Create client-side socket */ cli_sock=socket(PF_INET,SOCK_STREAM,0); if (cli_sock==INVALID_SOCKET){ sprintf(buf, "Windows Sockets error %d: couldn’t open socket.", WSAGetLastError()); MessageBox(hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } srv_addr.sin_family = AF_INET; srv_addr.sin_addr.s_addr = inet_addr(SERVER); srv_addr.sin_port=SERVER_PORT; /* Connect to server */ if (connect(cli_sock,(LPSOCKADDR)&srv_addr,sizeof(srv_addr))==SOCKET_ERROR){ sprintf(buf,"Windows Sockets error %d: Couldn’t connect socket.", WSAGetLastError()); MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } /* Set up async select on FD_READ, FD_WRITE, and FD_CLOSE events */ err = WSAAsyncSelect(cli_sock, hWnd, SOCKET_MESSAGE, FD_READ|FD_WRITE|FD_CLOSE); if (err == SOCKET_ERROR) { sprintf(buf,"Windows Sockets error %d: WSAAsyncSelect failure.", WSAGetLastError());
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 33 of 50
MessageBox (hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } :KHQRQHRIWKHVSHFLILHGQHWZRUNHYHQWVRFFXUVWKHVSHFLILHGZLQGRZKDQGOHK:QGUHFHLYHVDPHVVDJHFRQWDLQLQJDZ0VJRI 62&.(7B0(66$*(7KHZ3DUDPILHOGRIWKHPHVVDJHZLOOKDYHWKHVRFNHWKDQGOHDQGO3DUDPFRQWDLQVWZRSLHFHVRILQIRUPDWLRQWKHORZ ZRUGFRQWDLQVWKHHYHQWWKDWRFFXUUHG)'B5($')'B:5,7(RU)'B&/26( DQGWKHKLJKZRUGFRQWDLQVDQHUURUFRGHRULIWKHUHZDVQR HUURU&RGHVLPLODUWRWKHIROORZLQJIUDJPHQWZKLFKZRXOGEHORQJLQDQDSSOLFDWLRQ VPDLQZLQGRZSURFHGXUHPD\EHXVHGWRLQWHUSUHWD PHVVDJHIURP:6$$V\QF6HOHFW
long FAR PASCAL _export WndProc(HWND hWnd, UINT message, UINT wParam, LONG lParam) { INT err; switch (message) { case ...: /* handle Windows messages */ . . . case SOCKET_MESSAGE: /* A network event has occurred on our socket. Determine which network event occurred. */ switch (WSAGETSELECTEVENT(lParam)) { case FD_READ: /* Data arrived. Receive it. */ err = recv(cli_sock, Buffer, BufferLength, 0); if (WSAGetLastError() == WSAEWOULDBLOCK) { /* We have already received the data. */ break; } if (err == SOCKET_ERROR) { sprintf(buf, "Windows Sockets error %d: receive error.", WSAGetLastError()); MessageBox(hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } . . /* Do something useful with the data. */ . .
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 34 of 50
break; case FD_WRITE: /* We can send data. */ err = send(cli_sock, Buffer, BufferLength, 0); if (err == SOCKET_ERROR) { if (WSAGetLastError() == WSAEWOULDBLOCK) { /* Send buffers overflowed. */ break; } sprintf(buf, "Windows Sockets error %d: send failed.", SAGetLastError()); MessageBox(hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } break; case FD_CLOSE: /* The remote closed the socket. */ closesocket(cli_sock); break; } break; } . $QLPSRUWDQWSDUWRIWKHEHKDYLRURI:6$$V\QF6HOHFW LVWKDWDIWHUWKH:LQGRZV6RFNHWV'//KDVSRVWHGDPHVVDJHIRUDSDUWLFXODUQHWZRUN HYHQWWKH'//UHIUDLQVIURPSRVWLQJDQRWKHUPHVVDJHIRUWKDWHYHQWXQWLOWKHDSSOLFDWLRQKDVFDOOHGWKHUHHQDEOLQJIXQFWLRQIRUWKDWHYHQW )RUH[DPSOHRQFHDQ)'B5($'KDVEHHQSRVWHGQRPRUH)'B5($'PHVVDJHVZLOOEHSRVWHGXQWLOWKHDSSOLFDWLRQFDOOVUHFY 7KLVSUHYHQWV DQDSSOLFDWLRQ VPHVVDJHTXHXHIURPEHLQJRYHUIORZHGZLWKPHVVDJHVIRUDVLQJOHQHWZRUNHYHQW 8VLQJ:6$$V\QF6HOHFW FDQVLPSOLI\DQGLPSURYHRUJDQL]DWLRQLQ:LQGRZVDSSOLFDWLRQVE\DOORZLQJWKHPWREHIXOO\HYHQWGULYHQ6XFKDQ DSSOLFDWLRQUHVSRQGVWRQHWZRUNHYHQWVLQPXFKWKHVDPHZD\LWUHVSRQGVWRXVHUHYHQWVVXFKDVDPRXVHFOLFN,QDGGLWLRQDSSOLFDWLRQV ZKLFKPDNHXVHRI:6$$V\QF6HOHFW DUHEHWWHUEHKDYHG:LQGRZVDSSOLFDWLRQVVLQFHWKH\PXVWIUHTXHQWO\FDOO3HHN0HVVDH RU*HW0HVVDJH LQRUGHUWRUHFHLYHWKHQHWZRUNPHVVDJHV
$V\QFKURQRXV'DWDEDVH5RXWLQHV -XVWDVVLPSOHQHWZRUNRSHUDWLRQVOLNHUHFY FDQEORFNIRUH[WHQGHGSHULRGVRIWLPHVRFDQWKHGDWDEDVHURXWLQHVOLNHJHWKRVWE\QDPH HVSHFLDOO\LVWKH\JRWKURXJK'16ZKLFKFDQUHTXLUHFRQVLGHUDEOHWLPHGXHWRWKHQHWZRUNDFWLYLW\LQYROYHG,QRUGHUWRDOORZZHOOEHKDYHG
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 35 of 50
:LQGRZV$SSOLFDWLRQVWRXVHWKHGDWDEDVHURXWLQHVWKH:LQGRZV6RFNHWV$3,VXSSOLHVDV\QFKURQRXVYHUVLRQVRIWKHGDWDEDVHURXWLQHV7KHLU XVHLVVLPLODUWRWKHV\QFKURQRXVGDWDEDVHURXWLQHVZLWKWZRLPSRUWDQWH[FHSWLRQV
&RPSOHWLRQRIWKHRSHUDWLRQLVLQGLFDWHGYLDD:LQGRZVPHVVDJHDVZLWK:6$$V\QF6HOHFW 7KHDSSOLFDWLRQLVUHTXLUHGWRLQFOXGHDEXIIHUZKLFKLVILOOHGLQE\WKH:LQGRZV6RFNHWV'//ZLWKWKHLQIRUPDWLRQUHTXHVWHGE\WKH DSSOLFDWLRQ7KLVLVLQFRQWUDVWWRWKHV\QFKURQRXVGDWDEDVHURXWLQHVZKLFKUHWXUQDSRLQWHUWRVSDFHRZQHGE\WKH:LQGRZV6RFNHWV'//
,QRUGHUWRPDNHDQDV\QFKURQRXVGDWDEDVHFDOODQDSSOLFDWLRQSDVVHVLQLQIRUPDWLRQDERXWWKHFDOODZLQGRZKDQGOHWRUHFHLYHWKH FRPSOHWLRQPHVVDJHDPHVVDJHFRGHDQGDEXIIHUIRUWKHRXWSXWLQIRUPDWLRQ7KH:LQGRZV6RFNHWV$3,GHILQHVDFRQVWDQW 0$;*(7+2676758&7ZKLFKLVWKHPD[LPXPVL]HRIDKRVWHQWVWUXFWXUH$QDSSOLFDWLRQVKRXOGXVHDEXIIHURIWKLVVL]HWRSDVVWRWKH DV\QFKURQRXVGDWDEDVHURXWLQHVLQRUGHUWREHJXDUDQWHHGWKDWDOOWKHRXWSXWLQIRUPDWLRQZLOOILWLQLWVEXIIHU$FDOOWR :6$$V\QF*HW+RVW%\1DPH PD\EHDVIROORZV
#define GETHOST_MESSAGE BYTE HANDLE TaskHandle;
WM_USER+2
HostBuffer[MAXGETHOSTSTUCT];
/* Resolve hostname "hostname" asynchronously */ TaskHandle = WSAAsyncGetHostByName(hWnd, GETHOST_MESSAGE, "hostname", HostBuffer,
MAXGETHOSTST
if (TaskHandle == SOCKET_ERROR) { sprintf(buf, "Windows Sockets error %d: Hostname couldn’t be resolved.", WSAGetLastError()); MessageBox(hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } :6$$V\QF*HW+RVW%\1DPH DQGWKHRWKHUDV\QFKURQRXVGDWDEDVHURXWLQHVUHWXUQDWDVNKDQGOHZKLFKXQLTXHO\UHIHUVWRWKHRSHUDWLRQLQ SURJUHVV7KLVWDVNKDQGOHDOORZVDQDSSOLFDWLRQZKLFKPD\KDYHPXOWLSOHRXWVWDQGLQJDV\QFKURQRXVGDWDEDVHURXWLQHVWRDVVRFLDWHFRPSOHWLRQ PHVVDJHVZLWKWKHUHTXHVWVLQFHWKHWDVNKDQGOHLVUHWXUQHGLQWKHFRPSOHWLRQPHVVDJHDVZ3DUDP 7RUHFHLYHDQGSURFHVVWKHFRPSOHWLRQPHVVDJHDQDSSOLFDWLRQZLOOGRWKHIROORZLQJLQLWVZLQGRZSURFHGXUH
long FAR PASCAL _export WndProc(HWND hWnd, UINT message, UINT wParam, LONG lParam) { INT err;
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 36 of 50
switch (message) { case ...: /* handle Windows messages */ . . . case GETHOST_MESSAGE: /* An asynchronous database routine completed. */ if (WSAGETASYNCERROR(lParam) != 0) { sprintf(buf, "Windows Sockets error %d: Hostname couldn’t be resolved.", WSAGetLastError()); MessageBox(hWnd,buf,"Windows Sockets Error",MB_OK); shutdown_appl(); } . . /* HostBuffer now contains a host buffer, use info from it. */ . . }
:LQGRZV6RFNHWVRQ:LQGRZV17 $OWKRXJKWKHLQLWLDOIRFXVRI:LQGRZV6RFNHWVZDVIRU:LQGRZVELWDSSOLFDWLRQV:LQGRZV17VXSSRUWV:LQGRZV6RFNHWVDVZHOO7RUXQ H[LVWLQJELW:LQGRZV6RFNHWVDSSOLFDWLRQV:LQGRZV17VXSSOLHV:,162&.'//,QDGGLWLRQ:LQGRZV17RIIHUVELW:LQGRZV6RFNHWV VXSSRUWLQWKH'//FDOOHG:62&.'//,QJHQHUDODOORIWKH:LQGRZV6RFNHWVURXWLQHVLQWKHELW'//DUHLGHQWLFDOWRWKHLUELW FRXQWHUSDUWVDOWKRXJKWKHLUSDUDPHWHUVDUHZLGHQHGWRELWV 7KHPRVWVLJQLILFDQWGLIIHUHQFHLQSURJUDPPLQJ:LQGRZV6RFNHWVDSSOLFDWLRQVIRU:LQGRZV17LVWKDW:LQGRZV17LVDIXOO\SUHHPSWLYH PXOWLWKUHDGHGRSHUDWLQJV\VWHP7KHUHIRUHLIDQDSSOLFDWLRQEORFNVRQD:LQGRZV6RFNHWVFDOOWKHUHVWRIWKHV\VWHPLVQRWQHJDWLYHO\ LPSDFWHG,QDGGLWLRQLWLVIHDVLEOHWRZULWHDPXOWLWKUHDGHGDSSOLFDWLRQZKLFKXVHVRQHWKUHDGWRSURFHVVXVHULQSXWDQGDQRWKHUWREORFNRQ VRFNHWVFDOOV6XFKDQDSSOLFDWLRQFRXOGXVHWKHEORFNLQJVRFNHWVFDOOVDQGVWLOOEHUHVSRQVLYHWRXVHULQSXW 7KHDV\QFKURQRXV:LQGRZV6RFNHWVFDOOVDUHVWLOODGYDQWDJHRXVLQ:LQGRZV177KHPRVWVLJQLILFDQWDGYDQWDJHLVWKDWWKH\DOORZDQ DSSOLFDWLRQWREHIXOO\HYHQWGULYHQILWWLQJEHWWHUZLWKLQWKH:LQGRZVSURJUDPPLQJSDUDGLJP,QDGGLWLRQELWYHUVLRQVRI:LQGRZV6RFNHWV ZLOOVRRQEHDYDLODEOHIRU:LQV$QDSSOLFDWLRQZULWWHQWRXVHWKHDV\QFKURQRXVURXWLQHVFDQEHHDVLO\SRUWHGWR:LQVZLWKRXWWKH QHJDWLYHV\VWHPLPSDFWVRIEORFNLQJFDOOV
7UDQVSRUW,QGHSHQGHQFH file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 37 of 50
:H YHIRFXVHGRQ7&3,3IRUPRVWRIWKLVDUWLFOHEXWZHSURPLVHGWRGHVFULEHKRZDQDSSOLFDWLRQFDQXVH:LQGRZV6RFNHWVRWKHUWUDQVSRUW SURWRFROVLQ:LQGRZV17DQG&KLFDJR:H OOIRFXVRQWKHKLJKOLJKWVDQGWKHNH\IHDWXUHVWKDWGLIIHUHQWLDWHGLIIHUHQWWUDQVSRUWSURWRFROVDQGRQ WKHPHFKDQLVPVIRURSHQLQJVRFNHWVIRUXVHZLWKGLIIHUHQWWUDQVSRUWSURWRFROV $OWKRXJKWKHVHDUHQRWH[SOLFLWO\DGGUHVVHGLQWKH:LQGRZV6RFNHWVVSHFLILFDWLRQWKHIDFWWKDWWKHIXQGDPHQWDOMRERIDWUDQVSRUWSURWRFROLV GDWDWUDQVIHUDORQJZLWKWKHIDFWWKDW:LQGRZV6RFNHWVSURYLGHVDULFKLQWHUIDFHIRUORZOHYHOGDWDWUDQVIHULQDSSOLFDWLRQVPDNHWKHLQWHUIDFH WR:LQGRZV6RFNHWVRYHUGLIIHUHQWWUDQVSRUWSURWRFROVTXLWHIHDVLEOH,QIDFWKDYLQJDFRPPRQZHOONQRZQ$3,LQWHUIDFHDOORZVDSSOLFDWLRQV WREHSRUWHGTXLFNO\EHWZHHQGLIIHUHQWWUDQVSRUWSURWRFROVDQGWKHUHDUHVHYHUDOVXFFHVVIXOH[DPSOHVRIWKLV %HFDXVHRIWKHDUFKLWHFWXUHRIWKH:LQGRZV6RFNHWVFRPSRQHQWVRI:LQGRZV17DQG&KLFDJRDOOVXSSRUWHGWUDQVSRUWVDUHDFFHVVHGWKURXJK WKHVDPH'//:62&.'//,QIDFWDVLQJOHDSSOLFDWLRQPD\VLPXOWDQHRXVO\XVHVRFNHWVRIGLIIHUHQWWUDQVSRUWSURWRFROV $QDSSOLFDWLRQXVHVWKHSDUDPHWHUVWRWKHVRFNHW $3,WRVSHFLI\WKHSURWRFROLWGHVLUHV)RUH[DPSOHD7&3VRFNHWLVRSHQHGZLWK
s_tcp = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); ZKLOHDQ63;VRFNHWLVRSHQHGZLWK
s_spx = socket( AF_IPX, SOCK_SEQPACKET, NSPROTO_SPX ); $IWHURSHQLQJDVRFNHWIRUDVSHFLILFSURWRFRODOODFWLRQVSHUIRUPHGRQWKHVRFNHWJRWKURXJKWKHVSHFLILHGSURWRFRO,QWKHDERYHH[DPSOHLI WKHDSSOLFDWLRQGLGDOLVWHQ RQWKHVBWFSVRFNHWEXWQRWRQWKHVBVS[VRFNHWLWZRXOGUHFHLYHLQFRPLQJFRQQHFWVWKURXJK7&3EXWQRWUHFHLYH LQFRPLQJFRQQHFWVWKURXJK63;
3URWRFRO&KDUDFWHULVWLFV $QDSSOLFDWLRQZKLFKXVHVGLIIHUHQWWUDQVSRUWSURWRFROVPXVWEHDZDUHRIWKHGLIIHUHQWFKDUDFWHULVWLFVRIWUDQVSRUWSURWRFROV:KLOHDOOWUDQVSRUW SURWRFROVVKDUHWKHVDPHIXQGDPHQWDOSXUSRVHRIELGLUHFWLRQDOGDWDWUDQVIHUPDQ\GHWDLOVRIWKHGDWDWUDQVIHUGLIIHU)ROORZLQJLVDOLVWRINH\ FKDUDFWHULVWLFVRIWUDQVSRUWSURWRFROVRIZKLFK:LQGRZV6RFNHWVDSSOLFDWLRQVQHHGWREHDZDUH
$GGUHVVLQJ 7KHPRVWREYLRXVGLIIHUHQFHEHWZHHQGLIIHUHQWWUDQVSRUWSURWRFROVLVWKHZD\LQZKLFKHDFKXVHVWUDQVSRUWDGGUHVVHVRUVRFNDGGUVLQ :LQGRZV6RFNHWVWHUPV9LUWXDOO\DOOWUDQVSRUWSURWRFROVH[SRVHGLIIHUHQWDGGUHVVIRUPDWVWRDSSOLFDWLRQVWKHRQHH[FHSWLRQEHLQJ1HW%,26 SURWRFROVZKLFKDOOXVHWKHVDPHDGGUHVVIRUPDW $QXPEHURI:LQGRZV6RFNHWV$3,VWDNHVRFNDGGUVDVLQSXWRURXWSXWSDUDPHWHUVLQFOXGLQJELQG FFHSW VHQGWR UHFYIURP JHWVRFNQDPH DQGJHWSHHUQDPH )RUDOOWKHVH$3,VDVRFNDGGULVUHDOO\WZRDUJXPHQWVDSRLQWHUWRWKHVRFNDGGIUVWUXFWXUHLWVHOIDQGD
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 38 of 50
OHQJWKLQWHJHUZKLFKJLYHVWKHQXPEHURIE\WHVLQWKHVRFNDGGU)RUPDQ\WUDQVSRUWSURWRFROVWKHOHQJWKRIDVRFNDGGULVDOZD\VWKHVDPHEXW VRFNDGGUOHQJWKVPD\GLIIHUEHWZHHQWUDQVSRUWSURWRFROV)RUH[DPSOHD7&3,3VRFNDGGUKDVE\WHVDQGDQ,3;63;VRFNDGGUKDVE\WHV 7KHIRUPDWRIVRFNDGGUVWUXFWXUHVXVHGE\DWUDQVSRUWSURWRFROLVVSHFLILHGLQWKHDIRUDGGUHVVIDPLO\DUJXPHQWWRWKHVRFNHW $3,$OO 7&3,3VRFNHWVLQFOXGLQJERWK7&3DQG8'3VRFNHWV DUHRSHQHGZLWKWKH$)B,1(7DGGUHVVIDPLO\ZKLOH,3;63;VRFNHWVDUHRSHQHGZLWK $)B,3;2WKHUWUDQVSRUWSURWRFROVXVHGLIIHUHQWDGGUHVVIDPLO\YDOXHVDVGHILQHGLQWKHKHDGHUILOHZLQVRFNK ,WLVXSWRDQDSSOLFDWLRQWRILOOLQDVRFNDGGUZKHQELQG LQJWRDORFDODGGUHVVRUFRQQHFW LQJWRDUHPRWHDGGUHVVDQGDOVRWRLQWHUSUHWWKH VRFNDGGUVUHWXUQHGIURPWKHDFFHSW VHQGWR UHFYIURPJHWSHHUQDPH DQGJHWVRFNQDPH $3,V
&RQQHFWLRQ2ULHQWHG9V&RQQHFWLRQOHVV ,QDFRQQHFWLRQRULHQWHGWUDQVSRUWDSSOLFDWLRQVDUHUHTXLUHGWRHVWDEOLVKDYLUWXDOFLUFXLWVRPHWLPHVDEEUHYLDWHGWR9LVXDO& EHIRUHGDWD WUDQVIHUFDQWDNHSODFH9LUWXDOFLUFXLWHVWDEOLVKPHQWLVDV\PPHWULFRQHVLGHWKHVHUYHUPXVWPDNHNQRZQWRWKHWUDQVSRUWLWVZLOOLQJQHVVWR UHFHLYHLQFRPLQJFRQQHFWLRQVYLDWKHOLVWHQ $3,7KHRWKHUVLGHWKHFOLHQWLQLWLDWHVWKHFLUFXLWZLWKWKHFRQQHFW $3,DQGWKHVHUYHUFDQ REWDLQDVRFNHWIRUWKHFLUFXLWZLWKWKHDFFHSW $3,2QFHWKHFLUFXLWLVHVWDEOLVKHGGDWDWUDQVIHUWDNHVSODFHZLWKWKHVHQG DQGUHFY $3,V7KHUHLVSURWRFROOHYHODFWLYLW\ZKLFKUHVXOWVIURPWKLVFLUFXLWHVWDEOLVKPHQWDQGPRUHSURWRFRODFWLYLW\WHDUVGRZQWKHFLUFXLWZKHQWKH VRFNHWVDUHFORVHG7&3DQG63;DUHH[DPSOHVRIFRQQHFWLRQRULHQWHGWUDQVSRUWSURWRFROV ,QDFRQQHFWLRQOHVVWUDQVSRUWWKHUHLVQRFLUFXLWHVWDEOLVKPHQWUHTXLUHGIRUGDWDWUDQVIHU$QDSSOLFDWLRQRQO\QHHGVWRRSHQDQGELQGDVRFNHW DIWHUZKLFKLWPD\XVHWKHVHQGWR DQGUHFYIURP $3,VWRVHQGDQGUHFHLYHGDWD2IFRXUVHLQRUGHUWRVSHFLI\WKHUHPRWHDGGUHVVIRU VHQGLQJGDWDRUWKHDGGUHVVIURPZKLFKUHFHLYHGGDWDZDVVHQWDQDSSOLFDWLRQPXVWVSHFLI\DVRFNDGGUWRWKHVHURXWLQHV8'3DQG,3;DUH H[DPSOHVRIFRQQHFWLRQOHVVWUDQVSRUWSURWRFROV ,WLVSRVVLEOHWRXVHWKHFRQQHFW $3,RQVRFNHWVRSHQHGIRUFRQQHFWLRQOHVVSURWRFROV7KLVLVPHUHO\DQDSSOLFDWLRQFRQYHQLHQFHDOORZLQJWKH DSSOLFDWLRQWRXVHWKHVHQG DQGUHFY $3,VDQGWKLVGRHVQRWUHVXOWLQDQ\SURWRFRODFWLYLW\,IDVRFNHWLVFRQQHFWHGLQWKLVPDQQHULWZLOO RQO\UHFHLYHSDFNHWVVHQWIURPWKHFRQQHFWHGDGGUHVVRWKHUSDFNHWVGHVWLQHGIRUWKHVRFNHWDUHVLOHQWO\GLVFDUGHG
5HOLDEOHYV8QUHOLDEOH'DWD'HOLYHU\ 0RVWSK\VLFDOQHWZRUNVDUHLQKHUHQWO\XQUHOLDEOH7KH\FDQGURSGDWDFRUUXSWLWGHOLYHULWRXWRIRUGHUDQGGHOLYHUPXOWLSOHFRSLHVRILW6RPH WUDQVSRUWSURWRFROVKLGHWKLVXQUHOLDELOLW\IURPDSSOLFDWLRQVE\XVLQJSURWRFROOHYHOPHFKDQLVPVWRHQVXUHWKDWGDWDLVGHOLYHUHGLQWKHFRUUHFW RUGHUZLWKRXWORVVFRUUXSWLRQRUGXSOLFDWLRQ2WKHUWUDQVSRUWSURWRFROVGRQRWPDNHWKHVHJXDUDQWHHVWKH\VLPSO\PDNHDEHVWHIIRUWWRJHW WKHGDWDWRLWVLQWHQGHGUHFLSLHQWEXWSK\VLFDOQHWZRUNIDLOXUHVFDQOHDGWRGDWDLQWHJULW\SUREOHPV %HFDXVHWKH\KDYHOHVVLQKHUHQWRYHUKHDGXQUHOLDEOHSURWRFROVRIWHQSURYLGHEHWWHUSHUIRUPDQFHHVSHFLDOO\IRUDSSOLFDWLRQVZKLFKVHQGVPDOO DPRXQWVRIGDWDLQDUHTXHVWUHVSRQVHWUDQVDFWLRQ IRUPDW+RZHYHUFRQQHFWLRQOHVVSURWRFROVLPSRVHWKHEXUGHQRQWKHDSSOLFDWLRQRIGRLQJ ZKDWHYHUUHOLDELOLW\JXDUDQWHHVDUHQHFHVVDU\DQGWKHUHIRUHOHDGWRPRUHFRPSOLFDWHGDSSOLFDWLRQV5HOLDEOHSURWRFROVDUHXVXDOO\VLPSOHUIRU WKHDSSOLFDWLRQDWWKHH[SHQVHRIDKLJKHUFRVWLQV\VWHPUHVRXUFHVDQGSHUIRUPDQFH
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 39 of 50
7\SLFDOO\FRQQHFWLRQRULHQWHGSURWRFROVDUHUHOLDEOHZKLOHFRQQHFWLRQOHVVSURWRFROVDUHXQUHOLDEOH:KLOHWKLVLVWUXHRIDOOWKHWUDQVSRUW SURWRFROVVXSSRUWHGE\:LQGRZV17LWLVQRWUHTXLUHGWKDWWKHVHDOZD\VJRKDQGLQKDQG
2UGHUO\5HOHDVH )RUDFRQQHFWLRQRULHQWHGWUDQVSRUWWKHUHDUHWZRZD\VWRWHUPLQDWHDYLUWXDOFLUFXLWRUGHUO\DQGDERUWLYH,QDQRUGHUO\UHOHDVHERWKVLGHV JHWDFKDQFHWRLQGLFDWHWKDWWKH\KDYHVHQWDOOWKHGDWDWKH\LQWHQGWRVHQGDQGRQO\ZKHQERWKVLGHVDUHGRQHLVWKHDFWXDOFLUFXLW WHUPLQDWHG)RUVXFKDUHOHDVHLWLVSRVVLEOHWRKDYHRQHVLGHLQGLFDWHWKDWLWLVGRQHVHQGLQJZLWKWKHVKXWGRZQ $3,ZKLOHWKHRWKHUVLGH FRQWLQXHVVHQGLQJ,QDQDERUWLYHWHUPLQDWLRQRIDYLUWXDOFLUFXLWRQHVLGHGHFLGHVWKDWLWLVWLPHWRWHUPLQDWHWKHFLUFXLWDQGXQLODWHUDOO\HQGV WKHFRQQHFWLRQ,IWKHRWKHUVLGHDWWHPSWVWRXVHWKHFRQQHFWHGVRFNHWWKHUHTXHVWIDLOV %\GHIDXOWFORVHVRFNHW DOVRDWWHPSWVDQRUGHUO\UHOHDVHRIWKHFRQQHFWLRQ+RZHYHUXQGHUVHYHUDOFLUFXPVWDQFHVVXFKDVSHQGLQJ XQUHFHLYHGRXWVWDQGLQJVHQG FDOOVDQGPRUHDFORVHVRFNHW ZLOOUHVXOWLQDQDERUWLYHFORVH $OOWUDQVSRUWSURWRFROVVXSSRUWWKHFRQFHSWRIDQDERUWLYHUHOHDVHEXWQRWDOOSURWRFROVVXSSRUWRUGHUO\UHOHDVH,IDQDSSOLFDWLRQDWWHPSWVDQ RUGHUO\UHOHDVHRQDWUDQVSRUWZKLFKGRHVQRWVXSSRUWRUGHUO\UHOHDVHWKHFRQQHFWLRQLVWHUPLQDWHGDERUWLYHO\7&3VXSSRUWVRUGHUO\UHOHDVH ZKLOH63;VXSSRUWVRQO\DERUWLYHUHOHDVH
6WUHDP2ULHQWHGYV0HVVDJH2ULHQWHG &RQQHFWLRQRULHQWHGWUDQVSRUWSURWRFROVFDQEHHLWKHUVWUHDPRULHQWHGRUPHVVDJHRULHQWHG,QDPHVVDJHRULHQWHGWUDQVSRUWSURWRFROHDFK EORFNRIGDWDLVVHQWDQGUHFHLYHGDVDVLQJOHEORFNRIGDWD$QLQGLYLGXDOPHVVDJHLVQHYHUEURNHQGRZQZKHQUHFHLYHGDOWKRXJKDWUDQVSRUW SURWRFROPD\EHIRUFHGWREUHDNGRZQDPHVVDJHLILWLVODUJHUWKDQWKHSK\VLFDOQHWZRUN VPD[LPXPWUDQVPLVVLRQXQLW078 +RZHYHUWKLVLV WUDQVSDUHQWWRWKHDSSOLFDWLRQ ,QDVWUHDPRULHQWHGWUDQVSRUWGDWDLVVHQWDQGUHFHLYHGDVDFRQWLQXRXVVWUHDPRIGDWDZLWKRXWDQ\PHVVDJHERXQGDULHV7KHWUDQVSRUW SURWRFROLVIUHHWRFRDOHVFHGDWDIURPGLVFUHWHVHQG FDOOVDQGGHOLYHULWWRDVLQJOHUHFY FDOODVZHOODVWREUHDNGRZQWKHGDWDEXIIHUJLYHQ WRDVLQJOHVHQG FDOODQGGHOLYHULWWRVHYHUDOUHFY FDOOV$QDSSOLFDWLRQKDVQRFRQWURORYHUKRZWKHVHEUHDNGRZQVRFFXUDQGDQ DSSOLFDWLRQJHWVQRQRWLILFDWLRQRIKRZGDWDZDVVHQW,IDQDSSOLFDWLRQQHHGVWRFRPPXQLFDWHLQGLVFUHWHPHVVDJHVLWLVWKHUHVSRQVLELOLW\RI WKHDSSOLFDWLRQWRGRPHVVDJHIUDPLQJIRUH[DPSOHE\SURFHHGLQJPHVVDJHGDWDE\WKHOHQJWKRIWKHPHVVDJHRQVHQGDQGUHFHLYLQJXQWLOWKH VSHFLILHGOHQJWKKDVDUULYHG 6RPHPHVVDJHRULHQWHGSURWRFROVVXSSRUWVWUHDPVHPDQWLFVLQDGGLWLRQWRPHVVDJHVHPDQWLFV,IDQDSSOLFDWLRQRSHQVDVRFNHWZLWK 62&.B675($0RQVXFKDWUDQVSRUWWKHQWKHWUDQVSRUWLJQRUHVDOOPHVVDJHERXQGDULHVZKHQWUDQVPLWWLQJDQGUHFHLYLQJGDWD,WVLPSO\ GHOLYHUVGDWDDVLWEHFRPHVDYDLODEOHZLWKRXWUHJDUGWRZKHWKHUWKHGDWDFRPSULVHVDFRPSOHWHPHVVDJH7KLVIHDWXUHLVKDQG\IRUPD[LPL]LQJ DSSOLFDWLRQSRUWDELOLW\1RWHKRZHYHUWKDWVWUHDPRULHQWHGWUDQVSRUWSURWRFROVFDQQRWLPSOHPHQWPHVVDJHRULHQWHGVHPDQWLFVGXHWRODFNRI LQIRUPDWLRQ
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 40 of 50
([SHGLWHG'DWD 6RPHFRQQHFWLRQRULHQWHGWUDQVSRUWSURWRFROVVXSSRUWWKHFRQFHSWRIH[SHGLWHGGDWDDOVRUHIHUUHGWRDVXUJHQWGDWDRURXWRIEDQGGDWD'DWD VHQWZLWKWKH06*B22%IODJLQWKHVHQG $3,LVVHQWDVH[SHGLWHGGDWDDQGWKHWUDQVSRUWSURWRFROPDNHVHYHU\HIIRUWWRGHOLYHUWKHGDWDDV TXLFNO\DVSRVVLEOH2IWHQWKHGDWDLVGHOLYHUHGRXWRIRUGHUVRWKDWLWJHWVWRWKHRWKHUDSSOLFDWLRQDVTXLFNO\DVSRVVLEOH$SSOLFDWLRQV LQWHUHVWHGLQPD[LPXPSRUWDELOLW\VKRXOGDYRLGH[SHGLWHGGDWDVLQFHLWLVQRWVXSSRUWHGE\DOOWUDQVSRUWSURWRFROV
&RQQHFWDQG'LVFRQQHFW'DWD $IHZWUDQVSRUWSURWRFROVVXSSRUWFRQQHFWDQGGLVFRQQHFWGDWDZKHUHDVPDOODPRXQWRIGDWDLVVHQWE\HDFKVLGHZKHQDYLUWXDOFLUFXLWLV HVWDEOLVKHGRUWHUPLQDWHG7KLVGDWDFDQEHDQ\WKLQJEXWLVRIWHQQHJRWLDWLRQLQIRUPDWLRQDERXWWKHYHUVLRQRIVRIWZDUHFRQQHFWLQJHWF $JDLQDSSOLFDWLRQVGHVLULQJSURWRFROSRUWDELOLW\VKRXOGDYRLGWKLVIHDWXUHVLQFHLWLVQRWXQLYHUVDOO\VXSSRUWHG
%URDGFDVWV 0RVWFRQQHFWLRQOHVVWUDQVSRUWSURWRFROVVXSSRUWEURDGFDVWLQWKHVDPHIDVKLRQZKHUHDQ\ERXQGVRFNHWFDQVHQGDEURDGFDVWLIWKH 62B%52$'&$67RSWLRQLVVHWDQGEURDGFDVWVVHQWWRWKHDSSURSULDWHORFDOHQGSRLQWDUHUHFHLYHGZLWKRXWDQ\DGGLWLRQDOZRUNRQWKHSDUWRI WKHDSSOLFDWLRQ1HW%,26WUDQVSRUWVKRZHYHUKDQGOHEURDGFDVWVVRPHZKDWGLIIHUHQWO\,QRUGHUWRUHFHLYHEURDGFDVWVDQDSSOLFDWLRQPXVW ELQGWRWKH1HW%,26EURDGFDVWDGGUHVVZKLFKLVDQDVWHULVN IROORZHGE\VSDFHV$6&,,FKDUDFWHU[ 7KLVPHDQVWZRWKLQJVD VRFNHWPXVWEHVSHFLDOO\ERXQGWRUHFHLYHEURDGFDVWVDQGDSSOLFDWLRQVFDQ WGHSHQGRQUHFHLYLQJEURDGFDVWVLQWHQGHGRQO\IRUDVSHFLILF DSSOLFDWLRQVLQFHDOO1HW%,26EURDGFDVWVDUHGHOLYHUHGWRWKLVDGGUHVV,QRWKHUSURWRFROVVXFKDV8'3,3DQG,3;EURDGFDVWVDUHGHOLYHUHGWR DVRFNHWRQO\LIWKHEURDGFDVWZDVVHQWWRWKHVDPHSRUWWRZKLFKWKHVRFNHWZDVERXQG
*XLGHOLQHVIRU7UDQVSRUW,QGHSHQGHQFH 7KH:LQGRZV6RFNHWVLQWHUIDFHVRI:LQGRZV17DQG&KLFDJRDUHGHVLJQHGWRIXOO\VXSSRUWDOORIWKHWUDQVSRUWSURWRFROFKDUDFWHULVWLFVOLVWHG DERYH7KLVDOORZVWUDQVSRUWVSHFLILFDSSOLFDWLRQVWRIXOO\XWLOL]HDOOWKHLGLRV\QFUDVLHVRIDSDUWLFXODUSURWRFRO+RZHYHUZKHQZULWLQJ WUDQVSRUWLQGHSHQGHQWDSSOLFDWLRQVLWLVLPSRUWDQWWRPLQLPL]HRUSUHIHUDEO\HOLPLQDWHDOOXVHVRIIHDWXUHVWKDWDUHQRWVXSSRUWHGE\DOO WUDQVSRUWSURWRFROV 0DQ\RIWKHUHVXOWLQJJXLGHOLQHVDUHIDLUO\REYLRXV
'RQ WVHQGRUDWWHPSWWRUHFHLYHH[SHGLWHGGDWD,I\RXPXVWEHDEOHWRUHFHLYHH[SHGLWHGGDWDWREHFRPSDWLEOHZLWKROGHUVRIWZDUHXVH WKH62B22%,1/,1(VRFNHWRSWLRQDQGWUHDWH[SHGLWHGGDWDDVQRUPDOGDWDLQ\RXUGDWDUHFHSWLRQFRGH
1HYHUXVHFRQQHFWRUGLVFRQQHFWGDWD,I\RXQHHGWRLQFOXGHLQIRUPDWLRQDWWKHVWDUWRUHQGRIDWUDQVPLVVLRQSXWLWLQWKHQRUPDOGDWD VWUHDP
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 41 of 50
,I\RXFRQWURO\RXUDSSOLFDWLRQ VRQWKHZLUHGDWDIRUPDWSHUIRUP\RXURZQPHVVDJHIUDPLQJIRUERWKVWUHDPDQGPHVVDJHSURWRFROV 0HVVDJHIUDPLQJPHDQVWRPDNHWKHOHQJWKRIWKHPHVVDJHVHOIGHVFULELQJIRUH[DPSOHE\LQFOXGLQJWKHPHVVDJHOHQJWKDVWKHILUVW WZRE\WHVRIWKHPHVVDJH7KHDSSOLFDWLRQFDQWKHQUHDGWZRE\WHVNQRZWKHWRWDOPHVVDJHVL]HDQGUHDGWKHUHPDLQGHURIWKH PHVVDJH7KLVDEVWUDFWVWKHGLVWLQFWLRQEHWZHHQPHVVDJHRULHQWHGDQGVWUHDPRULHQWHGWUDQVSRUWSURWRFROV
$VVXPHWKDWWKHWUDQVSRUWSURWRFROGRHVQ WVXSSRUWDJUDFHIXOFORVH,WLVDOZD\VSRVVLEOHWRGRDQDERUWLYHFORVHEXWDJUDFHIXOFORVHLV QRWDOZD\VVXSSRUWHG8VHDQDSSOLFDWLRQOHYHOSURWRFROWRHQVXUHWKDWDOOGDWDKDVEHHQFRUUHFWO\WUDQVPLWWHG
7\SLFDOO\ERWKFRQQHFWLRQOHVVDQGFRQQHFWLRQRULHQWHGWUDQVSRUWSURWRFROVZLOOEHDYDLODEOHRQDQ\JLYHQPDFKLQH7KHUHIRUHLWLV UHDVRQDEOHWRXVHZKLFKHYHULVPRVWFRQYHQLHQWIRU\RXUDSSOLFDWLRQZKLFKZLOOW\SLFDOO\EHFRQQHFWLRQRULHQWHGVLQFHLWIUHHVWKH DSSOLFDWLRQIURPKDYLQJWRZRUU\DERXWUHOLDEOHGDWDGHOLYHU\
3HUIRUPDQFHDQG:LQGRZV6RFNHWV %HFDXVH:LQGRZV6RFNHWVLVMXVWDWUDQVSRUWSURWRFROLQWHUIDFHDQGQRWDSURWRFROLWVHOILWLVDEOHWRDFKLHYHDYHU\KLJKOHYHORISHUIRUPDQFH :HOOZULWWHQDQGRSWLPL]HG:LQGRZV6RFNHWVDSSOLFDWLRQVDQGVHUYLFHVW\SLFDOO\SHUIRUPPXFKEHWWHUWKDQDSSOLFDWLRQVZULWWHQWR1DPHG 3LSHV1HW%,26RURWKHUFRPPXQLFDWLRQPHFKDQLVPV+RZHYHUEHFDXVH:LQGRZV6RFNHWVLVVRFORVHWRWKHPHWDORIWKHWUDQVSRUWSURWRFRO LWLVDOVRSRVVLEOHWRZULWH:LQGRZV6RFNHWVDSSOLFDWLRQVDQGVHUYLFHVZKLFKSHUIRUPYHU\SRRUO\ ([FHOOHQWSHUIRUPDQFHGRHVQRWFRPHIUHH'HYHORSHUVPXVWVSHQGVRPHWLPHXQGHUVWDQGLQJWKHSHUIRUPDQFHFKDUDFWHULVWLFVRIWKHLU DSSOLFDWLRQVWKHQPDNLQJPRGLILFDWLRQVWRHQKDQFHSHUIRUPDQFH$JRRGQHWZRUNDQDO\]HULVXVXDOO\HVVHQWLDOIRUQHWZRUNSHUIRUPDQFHZRUN DVWKHDQDO\]HUZLOOLQGLFDWHZKHUHWKHERWWOHQHFNVDUHDQGKRZHIILFLHQWO\WKHDSSOLFDWLRQLVXVLQJWKHSK\VLFDOQHWZRUN$OVRLPSRUWDQWDUH JRRGEHQFKPDUNVZKLFKERWKHYDOXDWHWKHLPSRUWDQWSHUIRUPDQFHFDVHVDQGSURYLGHFRQVLVWHQWUHSURGXFLEOHUHVXOWV
(IIHFWRIWKH1HWZRUN&DUG 2QDQ(WKHUQHWQHWZRUN:LQGRZV177&3,3:LQGRZV6RFNHWVDSSOLFDWLRQUXQQLQJRQDZLWKDIDVWQHWZRUNFDUGFDQVDWXUDWHWKH ZLUH!.%VHF XVLQJDSSUR[LPDWHO\RIWKHV\VWHP&38+RZHYHUZLWKDVORZQHWZRUNFDUGWKHVDPHV\VWHPDQGDSSOLFDWLRQPD\ DFKLHYHRQO\.%VHFZKLOHXVLQJRIWKH&38 :K\WKHGLIIHUHQFH"6ORZHUQHWZRUNFDUGVLQFOXGLQJDOOELWDQGPRVWELWFDUGVFDXVHWKH&38WRGRDGGLWLRQDOEXIIHUFRSLHVDQGSXWWKH &38LQWRQXPHURXVZDLWVWDWHVZKHUHWKH&38LVMXVWVSLQQLQJZDLWLQJIRUWKHFDUGWRGRVRPHWKLQJ+RZHYHUWKHIDVWQHWZRUNFDUGVZKLFK DUHW\SLFDOO\ELWEXVPDVWHULQJ(,6$RU3&,FDUGVGRQRWLPSRVHWKHVH&38FRVWVLQVWHDGKDQGOLQJWKHPVHOYHVPDQ\RIWKHFKRUHVUHTXLUHG WRVHQGDQGUHFHLYHGDWD 6LQFHDGHYHORSHUFDQQRWFRQWUROWKHQHWZRUNFDUGVWKDWZLOOEHLQXVHE\HQGXVHUVLWLVXVXDOO\EHVWWRGRSHUIRUPDQFHWHVWLQJZLWKIDVWHU QHWZRUNFDUGVZKHUHWKH&38RUSK\VLFDOQHWZRUNQRWWKHFDUGLWVHOILVWKHERWWOHQHFN:KHQWKHFDUGLVWKHERWWOHQHFNLWFDQPDVN
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 42 of 50
VLJQLILFDQWSHUIRUPDQFHSUREOHPVDQGODUJHLPSURYHPHQWVLQWKH&38XWLOL]DWLRQRIWKHDSSOLFDWLRQPD\KDYHDQHJOLJLEOHHIIHFW:LWKDIDVW FDUGKRZHYHUWKHERWWOHQHFNZLOOXVXDOO\EHWKHDSSOLFDWLRQLWVHOIVRSHUIRUPDQFHSUREOHPVDQGLPSURYHPHQWVVKRZTXLFNO\
7KUHDGLQJ0RGHOV )RUDFOLHQWDSSOLFDWLRQWKHFKRVHQWKUHDGLQJPRGHOW\SLFDOO\GRHVQRWKDYHDVLJQLILFDQWHIIHFWRQSHUIRUPDQFH+RZHYHUVHUYLFHVWKDWKDQGOH WHQVRUKXQGUHGVRUUHPRWHXVHUVQHHGWRVHOHFWFDUHIXOO\WKHWKUHDGLQJPRGHOWKH\XVHEHFDXVHDSRRUFKRLFHFDQOHDGWRSRRUSHUIRUPDQFH 7KHVLPSOHVWWKUHDGPRGHOLVDVLQJOHSURFHVVZLWKDVLQJOHWKUHDGWKDWKDQGOHVDOOWKHFRQQHFWHGFOLHQWVW\SLFDOO\XVLQJWKHVHOHFW $3,WR PXOWLSOH[EHWZHHQWKHFOLHQWV$VLQJOHORRSFDOOVVHOHFW UHSHDWHGO\FDOOLQJVHQG UHFY RUDFFHSW ZKHQWKHVHOHFW FDOOLQGLFDWHV WKDWDQDFWLRQFDQEHSHUIRUPHGRQRQHRIWKHVRFNHWV:KLOHVLPSOHWRLPSOHPHQWWKHSHUIRUPDQFHRIVHUYLFHVXVLQJWKLVPRGHOFDQVXIIHU EHFDXVHHYHU\QHWZRUN,2FDOOSDVVHVWKURXJKVHOHFW ZKLFKLQFXUVVLJQLILFDQW&38RYHUKHDGIRUHDFK,27KLVLVDFFHSWDEOHZKHQ&38XVH LVQRWDQLVVXHEXWSUHVHQWVDSUREOHPZKHQWKHVHUYLFHUHTXLUHVKLJKSHUIRUPDQFH 7KHQH[WPRVWFRPSOLFDWHGPRGHOLVDVLQJOHWKUHDGIRUHDFKFOLHQW(YHU\WLPHDFOLHQWFRQQHFWVWKHVHUYLFHFDOOV&UHDWH7KUHDG WRFUHDWHD WKUHDGZKLFKKDQGOHVWKHFOLHQWIRUWKHGXUDWLRQRIWKHFRQQHFWLRQ7KLVPRGHOFDQDFKLHYHYHU\KLJKSHUIRUPDQFHZKHQWKHQXPEHURI FRQQHFWHGFOLHQWVLVVPDOOEXWDWDURXQGFOLHQWVWKHWKUHDGFRQWH[WVZLWFKLQJDQGUHVRXUFHRYHUKHDGEHJLQVWRSUHVHQWDVLJQLILFDQWEXUGHQ IRUWKHV\VWHP $VLPLODUPRGHOWRWKUHDGSHUFOLHQWLVSURFHVVSHUFOLHQW,QSURFHVVSHUFOLHQWDQHQWLUHQHZSURFHVVLVFUHDWHGXVLQJ&UHDWH3URFHVV IRU HDFKFOLHQWWKDWFRQQHFWV7KLVLVWKHPRGHOW\SLFDOO\XVHGLQ81,;'DHPRQV7KLVPRGHOLVGLVFRXUDJHGIRU:LQGRZV17DQG:LQGRZV EHFDXVHSURFHVVHVDUHPXFKPRUHH[SHQVLYHWKDQWKUHDGVERWKLQWHUPVRIUHVRXUFHVXVHGDQGLQWKH&38RYHUKHDGRIFRQWH[WVZLWFKLQJ 7KHPRVWHIILFLHQWWKUHDGLQJPRGHOVXVHDZRUNHUWKUHDGSRRO,QWKLVPRGHODSRRORIWKUHDGVVHUYLFHVDOOWKHFRQQHFWHGFOLHQWV,QZRUNHU WKUHDGPRGHOVWKHVHUYLFHZLOOXVXDOO\XVHRYHUODSSHG,2ZLWKWKH:LQ:ULWH)LOH DQG5HDG)LOH $3,VWRIDFLOLWDWHPXOWLSOH[LQJDQG PLQLPL]HWKHQXPEHURIWKUHDGVUHTXLUHGE\WKHVHUYLFH,Q:LQGRZV17,2FRPSOHWLRQSRUWVPD\EHXVHGIRUDGGLWLRQDOHIILFLHQF\:KLOH WKLVWKUHDGLQJPRGHOLVWKHPRVWHIILFLHQWIRUODUJHQXPEHUVRIFOLHQWVLWLVDOVRWKHPRVWFRPSOH[7KHUHIRUHLWVKRXOGRQO\EHXVHGZKHUHLWLV UHTXLUHGWRKDYHKLJKSHUIRUPDQFHZLWKODUJHQXPEHUVRIFRQQHFWHGFOLHQWV
,2%XIIHU6L]H (YHU\WLPHDQDSSOLFDWLRQDVNVWRVHQGRUUHFHLYHGDWDWKHV\VWHPPXVWXQGHUJRDFHUWDLQDPRXQWRIRYHUKHDGWRFKHFNWKHSDUDPHWHUVDQG EXIIHUVVSHFLILHGWRWKHFDOO7KHVHFKHFNVFRVWF\FOHVVRLWLVEHVWWRGRDVIHZ,2FDOOVDVSRVVLEOHWRVHQGWKHQHFHVVDU\DPRXQWRIGDWD 7KHHDVLHVWZD\WRPLQLPL]HWKHQXPEHURI,2FDOOVLVWRJLYHHDFKFDOODELJFKXQNRIGDWD)RUH[DPSOHLI\RXQHHGWRVHQG.%RIGDWD GRQ WGRFDOOVWRVHQG ZLWK.LQHDFKFDOO,QVWHDGGRMXVWDFRXSOHRIFDOOVZLWK.RU.RIGDWD7KLVZD\\RXJHWWKHGDWD WUDQVIHUUHGZLWKIHZHU,2FDOOV +RZHYHULWLVEHVWQRWWRVSHFLI\WRRPXFKGDWDWRDQ\RQH,2FDOOEHFDXVHWKHGDWDPXVWEHORFNHGGRZQLQSK\VLFDOPHPRU\LQRUGHUWREH
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 43 of 50
XVHG+LJKSHUIRUPDQFHDSSOLFDWLRQVDQGVHUYLFHVXVHEXIIHUVL]HVLQWKHUDQJHRI.WR.WREDODQFHEHWZHHQWKHSK\VLFDOPHPRU\FRVWRI WKHORFNHGGRZQEXIIHUDQGWKH&38RYHUKHDGRIHDFK,2FDOO7KHEHVWZD\WRGHWHUPLQHDVSHFLILFQXPEHUIRU\RXUDSSOLFDWLRQLV H[SHULPHQWDWLRQ $QRWKHUSUREOHPZLWKVPDOO,2LVWKHHIIHFWRI1DJOLQJ1DJOLQJZKLFKRFFXUVRQO\ZLWK7&3,3LVDQDWWHPSWE\WKHWUDQVSRUWSURWRFROWR FRDOHVFHVPDOOEXIIHUVLQWRODUJHUEXIIHUVVRWKDWWKHUHDUHQRWDORWRIWLQ\SDFNHWVRQWKHSK\VLFDOQHWZRUN:KLOH1DJOLQJKHOSVWRUHGXFH VPDOOSDFNHWVRQWKHQHWZRUNLWGRHVLWE\GHOD\LQJVHQGVXQWLOWKHUHLVPRUHGDWDDYDLODEOHWRVHQG:LWKVPDOOEXIIHUVSDVVHGWRVHQG WKHVHGHOD\VFDQVLJQLILFDQWO\LPSDFWSHUIRUPDQFHVORZLQJGRZQWKHDSSOLFDWLRQE\DVPXFKDV
0LQLPL]LQJ%XIIHU&RSLHV 8QGHUPRVW81,;LPSOHPHQWDWLRQVHYHU\VRFNHWV,2UHTXHVWUHVXOWVLQDEXIIHUFRS\WRRUIURPDV\VWHPEXIIHU7KLVJHQHUDOO\VLPSOLILHV WKLQJVIRUDSSOLFDWLRQVEXWDWWKHFRVWRIH[WUD&38RYHUKHDGWRSHUIRUPWKHEXIIHUFRS\ 8QGHU:LQGRZV17DQG:LQGRZV RSHUDWLQJV\VWHPV:LQGRZV6RFNHWVDWWHPSWVWRDYRLGEXIIHUFRSLHVZKHQHYHUSRVVLEOH+RZHYHU DSSOLFDWLRQDFWLRQVSOD\DELJUROHLQKRZRIWHQEXIIHUFRSLHVPXVWEHSHUIRUPHG 2QWKHVHQGLQJVLGHWKHUXOHVIRUEXIIHUFRSLHVDUHVLPSOH%\GHIDXOW:LQGRZV6RFNHWVDOZD\VFRSLHVWKHXVHUEXIIHULQWRDQLQWHUPHGLDWH EXIIHUEHIRUHSDVVLQJLWRQWRWKHWUDQVSRUWSURWRFRO7KLVLVEHFDXVHWKHWUDQVSRUWSURWRFROPXVWKDQJRQWRWKHGDWDXQWLOLWUHFHLYHVDQ DFNQRZOHGJPHQWIURPWKHUHPRWHHQGWKDWWKHGDWDKDVEHHQVXFFHVVIXOO\UHFHLYHG+RZHYHUPRVWDSSOLFDWLRQVZDQWWKHLUVHQG FDOOWR FRPSOHWHLPPHGLDWHO\VRWKDWWKHWKUHDGFDQSURFHHGZLWKRWKHUZRUN $SSOLFDWLRQVDQGVHUYLFHVZKLFKUHTXLUHH[WUHPHO\KLJKSHUIRUPDQFHFDQDWWKHFRVWRIVRPHFRPSOH[LW\DYRLGWKHVHQGVLGHEXIIHUFRSLHV7R DYRLGWKHEXIIHUFRSLHVVHWWKH62B61'%8)VRFNHWRSWLRQWRZKLFKWHOOV:LQGRZV6RFNHWVQRWWRGRVHQGEXIIHULQJ7KHDSSOLFDWLRQPXVW WKHQXVHDQRYHUODSSHG:ULWH)LOH FDOOWRVHQGGDWD7KHVH:ULWH)LOH FDOOVZLOOQRWFRPSOHWHXQWLOWKHWUDQVSRUWSURWRFROLVGRQHZLWKWKH GDWDVRLWLVLPSRUWDQWWRNHHSGDWDDYDLODEOHWRWKHWUDQVSRUWSURWRFROE\SHQGLQJPXOWLSOH,2FDOOVDWDQ\RQHWLPH)RUH[DPSOHWKH DSSOLFDWLRQFDOOV:ULWH)LOH ZKLFKUHWXUQV(5525B,2B3(1',1*%HIRUH,2FRPSOHWLRQLVVLJQDOHGWKHDSSOLFDWLRQVKRXOGDVVXPLQJWKDW WKHUHLVPRUHGDWDWREHVHQWFDQ:ULWH)LOH DVHFRQGWLPH$VVRRQDVWKHILUVW:ULWH)LOH FRPSOHWHVWKHDSSOLFDWLRQFDOOV:ULWH)LOH DJDLQJLYLQJ\HWPRUHGDWD7KLVGRXEOHEXIIHULQJHQVXUHVWKDWWKHUHLVDOZD\VGDWDDYDLODEOHLQWKHWUDQVSRUWSURWRFROVRWKDWWKHSLSH QHYHUHPSWLHV 2QWKHUHFHLYLQJVLGHWKHUXOHVDUHDOLWWOHGLIIHUHQW:LQGRZV6RFNHWVZLOOFRS\LQFRPLQJGDWDGLUHFWO\LQWRDXVHUEXIIHULIRQHLVDYDLODEOH,I WKHUHLVQRDYDLODEOHXVHUEXIIHU:LQGRZV6RFNHWVLVIRUFHGWRFRS\LQWRDV\VWHPEXIIHUWKHQLQWRDXVHUEXIIHUZKHQRQHHYHQWXDOO\FRPHVLQ $XVHUEXIIHULVDYDLODEOHZKHQHYHUDUHFY RU5HDG)LOH LVRXWVWDQGLQJRQDVRFNHW7KHUHIRUHLIDQDSSOLFDWLRQFDOOVUHFY LQDGYDQFHRI GDWDDUULYLQJWKHGDWDZLOOEHSODFHGGLUHFWO\LQWRWKHXVHUEXIIHU7KLVLVDQRWKHUUHDVRQWRDYRLGWKHVHOHFW FDOODSSOLFDWLRQVZKLFKFDOO VHOHFW XVXDOO\GRQRWKDYHDQ\XVHUEXIIHUVDYDLODEOHWRWKHV\VWHPVR:LQGRZV6RFNHWVLVIRUFHGWRSHUIRUPEXIIHUFRSLHVZKHQHYHUGDWD FRPHVLQ 'RXEOHEXIIHULQJFDQDOVREHXVHGRQWKHUHFHLYHVLGHWRDYRLGEXIIHUFRSLHV2QWKHUHFHLYHVLGHWKHDSSOLFDWLRQVKRXOGSHQGWZR5HDG)LOH
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 44 of 50
FDOOVVRWKDWWZRXVHUEXIIHUVDUHDYDLODEOHWRWKHV\VWHP7KHQZKHQGDWDDUULYHVLWGRHVGLUHFWO\LQWRRQHRIWKHEXIIHUV:KLOHWKH DSSOLFDWLRQLVSURFHVVLQJWKDWGDWDWKHUHLVVWLOODQRWKHUEXIIHUWRUHFHLYHLQFRPLQJGDWDWKHUHE\DYRLGLQJWKHZLQGRZZKHUHWZRFKXQNVRI GDWDDUULYHEDFNWREDFNWKHILUVWJRLQJLQWRDXVHUEXIIHUDQGWKHVHFRQGLQWRDV\VWHPEXIIHU
7KH7UDQVPLW)LOH $3, :LQGRZV17DGGVDQHZ:LQGRZV6RFNHWV$3,FDOOHG7UDQVPLW)LOH 7KLV$3,LVGHVLJQHGWRDOORZDSSOLFDWLRQVDQGVHUYLFHVWRVHQGILOH GDWDYHU\TXLFNO\RYHUWKHQHWZRUN,WZRUNVE\WDNLQJKDQGOHVWRDFRQQHFWHGVRFNHWDQGWRDQRSHQILOH7KHQLQNHUQHOPRGHLWUHDGVGDWD GLUHFWO\IURPWKHV\VWHPFDFKHDQGSDVVHVLWRIIWRWKHWUDQVSRUWSURWRFRO7KLVDYRLGVDOOWKHEXIIHUFRSLHVFRQWH[WVZLWFKHVDQGNHUQHO WUDQVLWLRQVDVVRFLDWHGZLWKWKHW\SLFDOPHWKRGVRIVHQGLQJILOHGDWD $QRWKHUDGYDQWDJHRI7UDQVPLW)LOH LVWKDWLWDOORZVKHDGDQGWDLOEXIIHUVWREHVSHFLILHGDORQJZLWKWKHILOHKDQGOH7KHVHEXIIHUVDUH VHQWEHIRUHDQGDIWHUWKHILOHGDWDUHVSHFWLYHO\7KLVLVYHU\HIILFLHQWEHFDXVHLWDOORZVWKHWUDQVSRUWSURWRFROWRFRPELQHWKHKHDGEXIIHUZLWK WKHILUVWFKXQNRIILOHGDWDDQGWKHWDLOEXIIHUZLWKWKHODVWFKXQNRIILOHGDWD 7KHSHUIRUPDQFHHIIHFWRI7UDQVPLW)LOH LVVLJQLILFDQWDVVKRZQLQWKHIROORZLQJFKDUW
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 45 of 50
7KLVFKDUWFRPSDUHVWKUHHFRPPRQPHFKDQLVPVIRUVHQGLQJILOHGDWDZLWKWKH5HDG)LOH DQGVHQG $3,VE\PHPRU\PDSSLQJWKHILOH VHWWLQJ62B61'%8)WRDQGXVLQJRYHUODSSHG:ULWH)LOH FDOOVWKHUHE\DYRLGLQJWKHEXIIHUFRSLHV DQGE\XVLQJ7UDQVPLW)LOH 7KHVH WHVWVZHUHUXQZLWKDRQWZR(WKHUQHWVZLWK&RPSDT1HWIOH[FDUGV 7KHFKDUWVKRZVWKDWWKHFRVWRIEXIIHUFRSLHVNHUQHOWUDQVLWLRQVDQGFRQWH[WVZLWFKHVPDNH5HDG)LOH DQGVHQG WKHOHDVWIDVWZD\WR VHQGILOHGDWD7KLVLVEHFDXVHWKHUHDUHWZREXIIHUFRSLHVIRUHYHU\,2LQWRWKHXVHUEXIIHUIRU5HDG)LOH DQGIURPWKHXVHUEXIIHUIRU VHQG DVZHOODVNHUQHOWUDQVLWLRQVDQGFRQWH[WVZLWFKHV 8VLQJDPHPRU\PDSSHGILOHDYRLGVDEXIIHUFRS\LQWRWKHXVHUEXIIHUZKHQUHWULHYLQJGDWDDQGXVLQJ:ULWH)LOH ZLWK62B61'%8)VHWWR DYRLGVWKHEXIIHUFRS\ZKHQVHQGLQJWKHGDWD7KHUHIRUHWKLVPHFKDQLVPDFKLHYHVPXFKEHWWHUSHUIRUPDQFHHVSHFLDOO\IRUODUJHUILOHV +RZHYHULWPXVWVWLOOLQFXUWKHFRVWVRIWKHNHUQHOWUDQVLWLRQVDQGFRQWH[WVZLWFKHV 7KHIDVWHVWPHWKRGLVWKH7UDQVPLW)LOH ZKLFKVLPSO\VLWVLQNHUQHOPRGHXVLQJKLJKO\RSWLPL]HGFDFKHPDQDJHUIXQFWLRQVWRUHWULHYHWKH GDWDDQGWLJKWFRGHSDWKVWRJLYHWKLVGDWDWRWKHWUDQVSRUWSURWRFRO8VLQJ7UDQVPLW)LOH WKHLVQHDUO\DEOHWRVDWXUDWHWKHIXOO
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 46 of 50
EDQGZLGWKRIWZR(WKHUQHWVZLWKILOHGDWD $QRWKHUQRWHRQ7UDVQPLW)LOH IRUKLJKSHUIRUPDQFHILOHWUDQVIHULVWKDWLWLVUHODWLYHO\VLPSOHWRXVH7KHPDSSHGILOHPHFKDQLVPXVHG DERYHWRRNOLQHVRIVRXUFHFRGHZKLOH7UDQVPLW)LOH XVHGRQO\
:KHUHLV:LQGRZV6RFNHWV+HDGHG" $OWKRXJK:LQGRZV6RFNHWVLVDQHZWHFKQRORJ\PXFKHYROXWLRQKDVDOUHDG\WDNHQSODFHLQWKH7&3,3FRPPXQLW\0LFURVRIW VQHZELW RSHUDWLQJV\VWHP:LQGRZV17ZLOORIIHU:LQGRZV6RFNHWVVXSSRUWIRUERWKDQGELW:LQGRZVDSSOLFDWLRQV0LFURVRIWLVHQFRXUDJLQJ WKLUGSDUWLHVDQGFRUSRUDWHGHYHORSHUVWRXVH:LQGRZV6RFNHWVDVWKHFOLHQWVHUYHUDQGGLVWULEXWHGDSSOLFDWLRQ$3,E\LQFOXGLQJWKH:LQGRZV 6RFNHWV$3,DVSDUWRI:26$WKH:LQGRZV2SHQ6HUYLFHV$UFKLWHFWXUH 6HYHUDO3&EDVHG7&3,3LPSOHPHQWDWLRQVDUHRIIHULQJ:LQGRZV6RFNHWVVXSSRUWDQGRYHUWZRGR]HQDSSOLFDWLRQYHQGRUVDUHVKLSSLQJ :LQGRZV6RFNHWVFRPSDWLEOHDSSOLFDWLRQV0RUHRYHUPDQ\FRUSRUDWLRQVDUHVWDQGDUGL]LQJRQ:LQGRZV6RFNHWVDVWKH$3,RIFKRLFHIRU FOLHQWVHUYHUQHWZRUNLQJDSSOLFDWLRQGHYHORSPHQW 7KH:LQGRZV6RFNHWVZDWHUVPD\UHPDLQFDOPIRUDVKRUWZKLOHSUREDEO\RQO\ORQJHQRXJKWRDOORZDSSOLFDWLRQYHQGRUVDQG7&3,3 LPSOHPHQWRUVWRSURGXFHFRPSDWLEOHRIIHULQJV7KHUHDUHDOUHDG\VRPHLGHDVRIZKDWIHDWXUHVIXWXUHUHYLVLRQVRIWKHVSHFLILFDWLRQPD\ LQFRUSRUDWHWUDQVSDUHQWWUDQVSRUWLQGHSHQGHQFHDFFHVVWRUDZVRFNHWVIRUORZHUOHYHOQHWZRUNIXQFWLRQVDQGWKHDELOLW\WRVKDUHDFRQQHFWHG VRFNHWEHWZHHQGLIIHUHQWDSSOLFDWLRQVWRQDPHDIHZ 7KHVXFFHVVRIWKH:LQGRZV6RFNHWVHIIRUWKDVVSDZQHGVLJQLILFDQWLQWHUHVWLQWKHQH[WYHUVLRQFDOOHG:LQGRZV6RFNHWV7KLVQHZ VWDQGDUGZLOOUHPDLQEDFNZDUGFRPSDWLEOHZLWK:LQGRZV6RFNHWVZKLOHVROYLQJVHYHUDORIWKHNH\SUREOHPVDSSOLFDWLRQDQGVHUYLFHZULWHUV IDFHWRGD\LQXVLQJ:LQGRZV6RFNHWVWUDQVSRUWLQGHSHQGHQFH:LQLQWHJUDWLRQDQGVHUYLFHUHJLVWUDWLRQDQGQDPHUHVROXWLRQ ,I:LQGRZV6RFNHWVLVDVLJQRIWKLQJVWRFRPHLQ:LQGRZVQHWZRUNLQJDSSOLFDWLRQGHYHORSPHQWXQGHU0LFURVRIW:LQGRZVZLOOFRQWLQXHWR EHFRPHHDVLHUPRUHIOH[LEOHDQGPRUHSRZHUIXO
:RUP+ROH$6DPSOH$SSOLFDWLRQ ,QRUGHUWRGHPRQVWUDWHKRZ:LQGRZV6RFNHWVPLJKWUHDOO\ZRUNLQDUHDODSSOLFDWLRQZHGHYHORSHG:RUP+ROH:RUP+ROHLVDSHHU:LQGRZV 6RFNHWVDSSOLFDWLRQZKLFKDOORZVXVHUVWRHVWDEOLVKQHWZRUNZRUPKROHVEHWZHHQV\VWHPVDQGWKHQGUDJDQGGURSILOHVWRRQHDQRWKHU7KH :RUP+ROHSURJUDPLVDVLPSOH0',PXOWLSOHGRFXPHQWLQWHUIDFH DSSOLFDWLRQZKLFKUXQVDVDELWDSSOLFDWLRQRQ:LQGRZVV\VWHPVZLWK D:LQGRZV6RFNHWVFRPSOLDQW7&3,3LPSOHPHQWDWLRQV:RUP+ROHFDQEHFRQGLWLRQDOO\FRPSLOHGDVDELW:LQGRZV17DSSOLFDWLRQZKLFKZLOO UXQRYHU:LQGRZV17 VELW7&3,3WUDQVSRUWDQGELW:LQGRZV6RFNHWVLQWHUIDFH7KHPDNHILOHH[SODLQVKRZWRFRPSLOHWKLVDSSOLFDWLRQ IRU:LQGRZV17 ,QRUGHUWRGHPRQVWUDWHDVPDQ\:LQGRZV6RFNHWVFRQFHSWVDVSRVVLEOH:RUP+ROHXWLOL]HVERWKVWUHDPDQGGDWDJUDPVRFNHWVDQGLV
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 47 of 50
FRPSOHWHO\HYHQWGULYHQDV\QFKURQRXV 7KLVDOORZVD:RUP+ROHWRVLPXOWDQHRXVO\VHUYLFHPXOWLSOHFOLHQWFRQQHFWLRQVDQGDFWDVD:RUP+ROH FOLHQW+RVWZLQGRZVDUHFUHDWHGZKHQDXVHUVSHFLILHVDGHVWLQDWLRQV\VWHPHLWKHUE\,3DGGUHVVRUKRVWQDPH WRFRQQHFWZLWK6SHFLI\LQJD UHPRWHV\VWHPGRHVQRWHVWDEOLVKDQHWZRUNFRQQHFWLRQLWVLPSO\FUHDWHVDKRVWZLQGRZRQWKHFOLHQWWRSURYLGHIHHGEDFNGXULQJILOHWUDQVIHUV :RUPKROHVFRQQHFWLRQV DUHHVWDEOLVKHGHYHU\WLPHDXVHULQLWLDWHVDILOHWUDQVIHUE\GUDJJLQJDILOHIURPWKHILOHPDQDJHULQWRDKRVW ZLQGRZ:HUHIHUWRWKHV\VWHPRQZKLFKWKLVKDSSHQVDVWKH:RUP+ROHFOLHQW7KH:RUP+ROHDSSOLFDWLRQLPSOHPHQWVDYHU\VLPSOHSURWRFRO ZKLFKZRXOGQRWEHHQWLUHO\XQFRPPRQLQDSURGXFWLRQHQYLURQPHQW7KHZRUPKROHVHWXSWDNHVSODFHRYHUDVLPSOHSDLURIGDWDJUDPIUDPH WUDQVDFWLRQVIROORZHGE\VWUHDPFRQQHFWLRQHVWDEOLVKPHQWZKLFKIDFLOLWDWHVWKHILOHWUDQVIHU7KHIROORZLQJGLDJUDPLOOXVWUDWHVWKHWUDQVDFWLRQV IRUFRQQHFWLRQHVWDEOLVKPHQW5HPHPEHUWKDWVLQFH:RUP+ROHLVDSHHUDSSOLFDWLRQHYHU\LQVWDQFHRI:RUP+ROHRQWKHQHWZRUNLVFDSDEOHRI DFWLQJDVERWKD:RUP+ROHFOLHQWDQGD:RUP+ROHVHUYHUVLPXOWDQHRXVO\
7KH:RUP+ROHSURWRFRO 7KHZRUPKROHHVWDEOLVKPHQWEHJLQVRQWKHFOLHQWVLGHE\VHQGLQJD),/(IUDPHGDWDJUDPZKLFKVSHFLILHVWRWKHVHUYHUWKHQDPHRIWKHILOHWR WUDQVIHUWKHOHQJWKRIWKHILOHDQGDXQLTXHWUDQVDFWLRQLGHQWLILHU[LG 7KH[LGDOORZVWKHVHUYHUWRGLVWLQJXLVKEHWZHHQPXOWLSOHRXWVWDQGLQJ ),/(UHTXHVWV7KHVHUYHUDFNQRZOHGJHVWKH),/(UHTXHVWZLWKHLWKHUD3257IUDPHRUD1$&.IUDPH$3257IUDPHLQIRUPVWKHFOLHQWWKDWWKH VHUYHUZLOODFFHSWDQLQFRPLQJILOHUHWXUQLQJDVSHFLILHGVWUHDPVRFNHWSRUWIRUWKHFOLHQWWRFRQQHFWWRDVZHOODVWKH[LGVSHFLILHGLQWKH RULJLQDOUHTXHVW,IWKHVHUYHUZLVKHVWRUHIXVHWKH),/(UHTXHVWLWPD\UHVSRQGZLWKD1$&.QHJDWLYHDFNQRZOHGJPHQW IUDPHZKLFK FRQWDLQVWKH[LGLWLVUHIXVLQJDQGRSWLRQDOO\DQHUURUFRGHIRUH[DPSOHLQVXIILFLHQWGLVNVSDFHGXSOLFDWHILOHQDPH 8SRQUHFHLSWRID3257IUDPHWKHFOLHQWHVWDEOLVKHVDVWUHDPVRFNHWFRQQHFWLRQWRWKHVSHFLILHGSRUWDQGEHJLQVWRWUDQVIHUWKHILOH6LQFHWKH VHUYHULVOLVWHQLQJRQDSRUWLWFUHDWHGLQDVVRFLDWLRQZLWKDSDUWLFXODUWUDQVDFWLRQDQGLWNQRZVWKHILOHQDPHDQGOHQJWKLWLVQRWQHFHVVDU\WR WUDQVIHUDQ\WKLQJDVLGHIURPWKHDFWXDOILOHGDWD2QFHWKHHQWLUHILOHKDVEHHQUHFHLYHGE\WKHVHUYHUWKHVWUHDPFRQQHFWLRQLVVKXWGRZQ JUDFHIXOO\ :RUP+ROH3URWRFRO)UDPH7\SHVDQG&RQWHQWV 'DWDJUDP&RQQHFWLRQ5HTXHVW 'DWDJUDP&RQQHFWLRQ$FNQRZOHGJH 'DWDJUDP&RQQHFWLRQ5HIXVH ),/(
3257
1$&.
7UDQVDFWLRQ,'
7UDQVDFWLRQ,'
7UDQVDFWLRQ,'
)LOHOHQJWK
3RUW1XPEHU
(UURUFRGHRSWLRQDO
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 48 of 50
)LOHQDPH
%HFDXVHWKHFRQQHFWLRQUHTXHVW),/( DFNQRZOHGJPHQW3257 DQGUHIXVH1$&. IUDPHVDUHDOOWUDQVPLWWHGRQWKHQHWZRUNXVLQJDQ XQUHOLDEOHGDWDJUDPSURWRFROLWLVTXLWHSRVVLEOHIRUWKHVHIUDPHVWREHORVWLQWKHVKXIIOHRIQHWZRUNDFWLYLW\7KLVVDLGWKH:RUP+ROHSURWRFRO DOVRLPSOHPHQWVVRPHUHWU\WLPHUVWRDOORZDFOLHQWWRUHWU\DIDLOHGFRQQHFWLRQUHTXHVW$:RUP+ROHFOLHQWZLOOUHWU\DFRQQHFWLRQUHTXHVWE\ UHWUDQVPLWWLQJXSWRIRXU),/(IUDPHVWRWKHVHUYHU7RNHHSWKLQJVVLPSOHWKHVHUYHUGRHVQRWLPSOHPHQWDUHWU\WLPHURQSRVVLEOHORVW3257 RU1$&.IUDPHV:HLQVWHDGUHO\RQWKHFOLHQWWRUHVHQGD),/(UHTXHVWLQWKHHYHQWWKDWD3257IUDPHJHWVORVW 6LQFHWKHVHUYHUFUHDWHVDORFDOZLQGRZWUDQVDFWLRQDVVRFLDWLRQDQGWKHOLNHXSRQUHFHLSWRID),/(IUDPHLWGRHVPDLQWDLQDWLPHUSHUILOH WUDQVDFWLRQWRDOORZIRUWKHFOHDQXSRIDFNQRZOHGJPHQW3257 IUDPHVZKLFKJRXQDQVZHUHG)LQDOO\VLQFHWKHILOHWUDQVIHULWVHOIWDNHVSODFH RYHUUHOLDEOHVWUHDPVRFNHWVLWLVQRWQHFHVVDU\WRLPSOHPHQWWKHVHW\SHVRISUHFDXWLRQVIRUWKHDFWXDOILOHWUDQVIHU:RUP+ROHVLPSO\UHOLHVRQ WKHIDLOXUHRIWKHVHQG DQGUHFY $3,VLQWKHHYHQWRIQHWZRUNRUFRQQHFWLRQSUREOHPV
:LQGRZV6RFNHWV$3,)XQFWLRQ2YHUYLHZ 6RFNHW)XQFWLRQV DFFHSW
$QLQFRPLQJFRQQHFWLRQLVDFNQRZOHGJHGDQGDVVRFLDWHGZLWKDQLPPHGLDWHO\FUHDWHGVRFNHW7KHRULJLQDOVRFNHWLVUHWXUQHG WRWKHOLVWHQLQJVWDWH
ELQG
$VVLJQDORFDOQDPHWRDQXQQDPHGVRFNHW
FORVHVRFNHW
5HPRYHDVRFNHWGHVFULSWRUIURPWKHSHUSURFHVVREMHFWUHIHUHQFHWDEOH2QO\EORFNVLI62B/,1*(5LVVHW
FRQQHFW
,QLWLDWHDFRQQHFWLRQRQWKHVSHFLILHGVRFNHW
JHWSHHUQDPH 5HWULHYHWKHQDPHRIWKHSHHUFRQQHFWHGWRWKHVSHFLILHGVRFNHWGHVFULSWRU JHWVRFNQDPH 5HWULHYHWKHFXUUHQWQDPHIRUWKHVSHFLILHGVRFNHW JHWVRFNRSW
5HWULHYHRSWLRQVDVVRFLDWHGZLWKWKHVSHFLILHGVRFNHWGHVFULSWRU
KWRQO
&RQYHUWDELWTXDQWLW\IURPKRVWE\WHRUGHUWRQHWZRUNE\WHRUGHU
KWRQV
&RQYHUWDELWTXDQWLW\IURPKRVWE\WHRUGHUWRQHWZRUNE\WHRUGHU
LQHWBDGGU
&RQYHUWVDFKDUDFWHUVWULQJUHSUHVHQWLQJDQXPEHULQWKH,QWHUQHWVWDQGDUG
QRWDWLRQWRDQ,QWHUQHWDGGUHVVYDOXH
LQHWBQWRD
&RQYHUWVDQ,QWHUQHWDGGUHVVYDOXHWRDQ$6&,,VWULQJLQ
QRWDWLRQLHDEFG
LRFWOVRFNHW
3URYLGHFRQWUROIRUGHVFULSWRUV
OLVWHQ
/LVWHQIRULQFRPLQJFRQQHFWLRQVRQDVSHFLILHGVRFNHW
QWRKO
&RQYHUWDELWTXDQWLW\IURPQHWZRUNE\WHRUGHUWRKRVWE\WHRUGHU
QWRKV
&RQYHUWDELWTXDQWLW\IURPQHWZRUNE\WHRUGHUWRKRVWE\WHRUGHU
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List UHFY
5HFHLYHGDWDIURPDFRQQHFWHGVRFNHW
UHFYIURP
5HFHLYHGDWDIURPHLWKHUDFRQQHFWHGRUXQFRQQHFWHGVRFNHW
VHOHFW
3HUIRUPV\QFKURQRXV,2PXOWLSOH[LQJ
VHQG
6HQGGDWDWRDFRQQHFWHGVRFNHW
VHQGWR
6HQGGDWDWRHLWKHUDFRQQHFWHGRUXQFRQQHFWHGVRFNHW
VHWVRFNRSW
6WRUHRSWLRQVDVVRFLDWHGZLWKWKHVSHFLILHGVRFNHWGHVFULSWRU
VKXWGRZQ
6KXWGRZQSDUWRIDIXOOGXSOH[FRQQHFWLRQ
VRFNHW
&UHDWHDQHQGSRLQWIRUFRPPXQLFDWLRQDQGUHWXUQDVRFNHWGHVFULSWRU
Page 49 of 50
7KHVHIXQFWLRQVPD\EORFNLIDFWLQJRQDEORFNLQJVRFNHW 'DWDEDVH)XQFWLRQV JHWKRVWE\DGGU
5HWULHYHWKHQDPHV DQGDGGUHVVFRUUHVSRQGLQJWRDQHWZRUNDGGUHVV
JHWKRVWQDPH
5HWULHYHWKHQDPHRIWKHORFDOKRVW
JHWKRVWE\QDPH
5HWULHYHWKHQDPHV DQGDGGUHVVFRUUHVSRQGLQJWRDKRVWQDPH
JHWSURWRE\QDPH
5HWULHYHWKHSURWRFROQDPHDQGQXPEHUFRUUHVSRQGLQJWRDSURWRFROQDPH
JHWSURWRE\QXPEHU 5HWULHYHWKHSURWRFROQDPHDQGQXPEHUFRUUHVSRQGLQJWRDSURWRFROQXPEHU JHWVHUYE\QDPH
5HWULHYHWKHVHUYLFHQDPHDQGSRUWFRUUHVSRQGLQJWRDVHUYLFHQDPH
JHWVHUYE\SRUW
5HWULHYHWKHVHUYLFHQDPHDQGSRUWFRUUHVSRQGLQJWRDSRUW
7KHVHIXQFWLRQVPD\EORFNLIDFWLQJRQDEORFNLQJVRFNHW :LQGRZV6RFNHWV$V\QFKURQRXV([WHQVLRQV :6$$V\QF*HW+RVW%\$GGU
$VHWRIIXQFWLRQVZKLFKSURYLGHDV\QFKURQRXVYHUVLRQVRIWKHVWDQGDUG%HUNHOH\JHW;E\< IXQFWLRQV)RU
:6$$V\QF*HW+RVW%\1DPH
H[DPSOHWKH:6$$V\QF*HW+RVW%\1DPH IXQFWLRQSURYLGHVDQDV\QFKURQRXVPHVVDJHEDVHG
:6$$V\QF*HW3URWR%\1DPH
LPSOHPHQWDWLRQRIWKHVWDQGDUG%HUNHOH\JHWKRVWE\QDPH IXQFWLRQ
:6$$V\QF*HW3URWR%\1XPEHU :6$$V\QF*HW6HUY%\1DPH :6$$V\QF*HW6HUY%\3RUW :6$$V\QF6HOHFW
3HUIRUPDV\QFKURQRXVYHUVLRQRIVHOHFW
:6$&DQFHO$V\QF5HTXHVW
&DQFHODQRXWVWDQGLQJLQVWDQFHRID:6$$V\QF*HW;%\< IXQFWLRQ
file:C:\TEMP\01becc72.htm
9/3/99
The Windows Sockets Electronic Discussion List
Page 50 of 50
:6$&DQFHO%ORFNLQJ&DOO
&DQFHODQRXWVWDQGLQJEORFNLQJ$3,FDOO
:6$&OHDQXS
6LJQRIIIURPWKHXQGHUO\LQJ:LQGRZV6RFNHWV'//
:6$*HW/DVW(UURU
2EWDLQGHWDLOVRIODVW:LQGRZV6RFNHWV$3,HUURU
:6$,V%ORFNLQJ
'HWHUPLQHLIWKHXQGHUO\LQJ:LQGRZV6RFNHWV'//LVDOUHDG\EORFNLQJDQH[LVWLQJFDOOIRUWKLVWKUHDG
:6$6HW%ORFNLQJ+RRN
+RRNWKHEORFNLQJPHWKRGXVHGE\WKHXQGHUO\LQJ:LQGRZV6RFNHWVLPSOHPHQWDWLRQ
:6$6HW/DVW(UURU
6HWWKHHUURUWREHUHWXUQHGE\DVXEVHTXHQW:6$*HW/DVW(UURU
:6$6WDUWXS
,QLWLDOL]HWKHXQGHUO\LQJ:LQGRZV6RFNHWV'//
:6$8QKRRN%ORFNLQJ+RRN
5HVWRUHWKHRULJLQDOEORFNLQJIXQFWLRQ
2EWDLQLQJWKH6SHFLILFDWLRQ %HIRUH\RXJHWWRRH[FLWHGDERXWZULWLQJD:LQGRZV6RFNHWVDSSOLFDWLRQLW VSUREDEO\DJRRGLGHDWRJHW\RXUKDQGVRQWKHVSHFLILFDWLRQLWVHOI 7KHFXUUHQWYHUVLRQRIWKHVSHFLILFDWLRQLVDQGLWLVGLVWULEXWHGHOHFWURQLFDOO\RQWKH,QWHUQHWDQG&RPSX6HUYH,I\RX UHQRWDEOHWRREWDLQ WKHVSHFLILFDWLRQHOHFWURQLFDOO\DVND:LQGRZV6RFNHWVYHQGRU²WKH\DUHJHQHUDOO\ZLOOLQJWRSURYLGH\RXZLWKDFRS\RQGLVN 7KHPRVWUHFHQWYHUVLRQVRIWKHVSHFLILFDWLRQDUHDYDLODEOHYLDDQRQ\PRXV)73RQUKLQRPLFURVRIWFRPRUVXQVLWHXQFHGXLQWKHGLUHFWRU\ SXEPLFURSFVWXIIPVZLQGRZVZLQVRFN 2Q&RPSX6HUYHFKHFNWKH0LFURVRIW6RIWZDUH/LEUDU\IRUXPJRPVO $YDULHW\RIGLIIHUHQW IRUPDWVDUHUHDGLO\DYDLODEOHGRF0LFURVRIW:RUG ZUL0LFURVRIW:LQGRZV:ULWH SV3RVW6FULSW W[W$6&,,WH[W RUUWI5LFK7H[W )RUPDW ,QDGGLWLRQWRWKHVSHFLILFDWLRQ\RXZLOODOVRILQG-RHO*ROGEHUJHU VH[WUHPHO\XVHIXO:LQGRZV6RFNHWVRQOLQHKHOSILOHZLQVRFNKOS VDPSOHDSSOLFDWLRQVDQGRWKHUQLIW\VWXII 1RWH)RUGHYHORSHUVIDPLOLDUZLWKWKHVSHFLILFDWLRQWKH0LFURVRIW:RUGDQG3RVW6FULSWYHUVLRQVRIWKHVSHFLILFDWLRQRIIHUFKDQJHEDUV LQWKHOHIWKDQGPDUJLQWRGHQRWHFKDQJHVPDGHWRWKHVSHFLILFDWLRQ
7KH:LQGRZV6RFNHWV(OHFWURQLF'LVFXVVLRQ/LVW ,I\RX UHLQWHUHVWHGLQ:LQGRZV6RFNHWV\RXUFRPPHQWVH[SHULHQFHDQGIHHGEDFNLVZHOFRPH&XUUHQWO\WKHUHLVDQHOHFWURQLFPDLOLQJOLVWRI VHYHUDOKXQGUHG:LQGRZV6RFNHWVGHYHORSHUVXVHUVDQGZL]DUGVZKLFKRIIHUWHFKQLFDOVXSSRUWDQGGLVFXVVLRQRIWKH:LQGRZV6RFNHWV$3,7R VXEVFULEHHPDLOOLVWVHUY#VXQVLWHXQFHGXLQFOXGLQJDVERWKVXEMHFWDQGERG\WKHOLQH68%6&5,%(:,162&.\RXU,QWHUQHWDGGUHVV!,I \RX UHD8VHQHWXVHUWKHPDLOLQJOLVWLVFURVVSRVWHGWRWKHDOWZLQVRFNQHZVJURXS,QDGGLWLRQ\RXDOVRPLJKWZDQWWRSHUXVHWKH FRPSSURJUDPPHUZLQDQGFRPSSURWRFROVWFSLSLEPSFJURXSVZKLFKIUHTXHQWO\VHH:LQGRZV6RFNHWVUHODWHGWUDIILF
file:C:\TEMP\01becc72.htm
9/3/99