From 9b1772e80a5be3af7c0f588a2e0ed6c6fe69ff17 Mon Sep 17 00:00:00 2001 From: sta Date: Mon, 11 Feb 2013 22:57:01 +0900 Subject: [PATCH] Added some XML documentation comments and renamed some method names --- Example/bin/Debug/example.exe | Bin 6656 -> 6656 bytes Example/bin/Debug/example.exe.mdb | Bin 1725 -> 1725 bytes Example/bin/Debug/websocket-sharp.dll | Bin 153088 -> 153600 bytes Example/bin/Debug/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes Example/bin/Debug_Ubuntu/example.exe | Bin 7168 -> 7168 bytes Example/bin/Debug_Ubuntu/example.exe.mdb | Bin 1742 -> 1742 bytes Example/bin/Debug_Ubuntu/websocket-sharp.dll | Bin 153088 -> 153600 bytes .../bin/Debug_Ubuntu/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes Example/bin/Release/example.exe | Bin 6656 -> 6656 bytes Example/bin/Release/websocket-sharp.dll | Bin 151552 -> 152064 bytes Example/bin/Release_Ubuntu/example.exe | Bin 7168 -> 7168 bytes .../bin/Release_Ubuntu/websocket-sharp.dll | Bin 151552 -> 152064 bytes Example1/bin/Debug/example1.exe | Bin 11776 -> 11776 bytes Example1/bin/Debug/example1.exe.mdb | Bin 3667 -> 3667 bytes Example1/bin/Debug/websocket-sharp.dll | Bin 153088 -> 153600 bytes Example1/bin/Debug/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes Example1/bin/Debug_Ubuntu/example1.exe | Bin 11776 -> 11776 bytes Example1/bin/Debug_Ubuntu/example1.exe.mdb | Bin 3684 -> 3684 bytes Example1/bin/Debug_Ubuntu/websocket-sharp.dll | Bin 153088 -> 153600 bytes .../bin/Debug_Ubuntu/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes Example1/bin/Release/example1.exe | Bin 11776 -> 11776 bytes Example1/bin/Release/websocket-sharp.dll | Bin 151552 -> 152064 bytes Example1/bin/Release_Ubuntu/example1.exe | Bin 11776 -> 11776 bytes .../bin/Release_Ubuntu/websocket-sharp.dll | Bin 151552 -> 152064 bytes Example2/Example2.pidb | Bin 7582 -> 7582 bytes Example2/Program.cs | 8 +- Example2/bin/Debug/example2.exe | Bin 5632 -> 5632 bytes Example2/bin/Debug/example2.exe.mdb | Bin 1228 -> 1228 bytes Example2/bin/Debug/websocket-sharp.dll | Bin 153088 -> 153600 bytes Example2/bin/Debug/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes Example2/bin/Debug_Ubuntu/example2.exe | Bin 5632 -> 5632 bytes Example2/bin/Debug_Ubuntu/example2.exe.mdb | Bin 1228 -> 1228 bytes Example2/bin/Debug_Ubuntu/websocket-sharp.dll | Bin 153088 -> 153600 bytes .../bin/Debug_Ubuntu/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes Example2/bin/Release/example2.exe | Bin 5632 -> 5632 bytes Example2/bin/Release/websocket-sharp.dll | Bin 151552 -> 152064 bytes Example2/bin/Release_Ubuntu/example2.exe | Bin 5632 -> 5632 bytes .../bin/Release_Ubuntu/websocket-sharp.dll | Bin 151552 -> 152064 bytes Example3/Example3.pidb | Bin 8402 -> 8316 bytes Example3/Program.cs | 16 +- Example3/bin/Debug/Example3.exe | Bin 6656 -> 6656 bytes Example3/bin/Debug/Example3.exe.mdb | Bin 1695 -> 1718 bytes Example3/bin/Debug/websocket-sharp.dll | Bin 153088 -> 153600 bytes Example3/bin/Debug/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes Example3/bin/Debug_Ubuntu/Example3.exe | Bin 6656 -> 6656 bytes Example3/bin/Debug_Ubuntu/Example3.exe.mdb | Bin 1695 -> 1718 bytes Example3/bin/Debug_Ubuntu/websocket-sharp.dll | Bin 153088 -> 153600 bytes .../bin/Debug_Ubuntu/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes Example3/bin/Release/Example3.exe | Bin 6656 -> 6656 bytes Example3/bin/Release/websocket-sharp.dll | Bin 151552 -> 152064 bytes Example3/bin/Release_Ubuntu/Example3.exe | Bin 6656 -> 6656 bytes .../bin/Release_Ubuntu/websocket-sharp.dll | Bin 151552 -> 152064 bytes README.md | 10 +- websocket-sharp/Ext.cs | 12 +- websocket-sharp/Net/HttpStatusCode.cs | 278 +++++++++ websocket-sharp/Net/HttpVersion.cs | 20 +- websocket-sharp/Server/HttpServer.cs | 241 +++++--- websocket-sharp/Server/ResponseEventArgs.cs | 37 +- websocket-sharp/Server/WebSocketServer.cs | 5 +- websocket-sharp/Server/WebSocketServerBase.cs | 2 +- .../Server/WebSocketServiceHost.cs | 1 + websocket-sharp/bin/Debug/websocket-sharp.dll | Bin 153088 -> 153600 bytes .../bin/Debug/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes .../bin/Debug_Ubuntu/websocket-sharp.dll | Bin 153088 -> 153600 bytes .../bin/Debug_Ubuntu/websocket-sharp.dll.mdb | Bin 68871 -> 68871 bytes .../bin/Release/websocket-sharp.dll | Bin 151552 -> 152064 bytes .../bin/Release_Ubuntu/websocket-sharp.dll | Bin 151552 -> 152064 bytes .../bin/Release_Ubuntu/websocket-sharp.xml | 538 +++++++++++++++++- .../WebSocketSharp.Net/HttpStatusCode.html | 189 ++++-- .../html/WebSocketSharp.Net/HttpVersion.html | 28 +- .../doc/html/WebSocketSharp.Net/index.html | 8 +- .../WebSocketSharp.Server/HttpServer.html | 359 +++++++----- .../ResponseEventArgs.html | 83 +-- .../WebSocketServer.html | 23 +- .../WebSocketServerBase.html | 4 +- .../WebSocketServiceHost`1.html | 9 +- .../doc/html/WebSocketSharp.Server/index.html | 8 +- .../doc/html/WebSocketSharp/Ext.html | 16 +- websocket-sharp/doc/html/index.html | 16 +- .../WebSocketSharp.Net/HttpStatusCode.xml | 281 +++++++-- .../mdoc/WebSocketSharp.Net/HttpVersion.xml | 16 +- .../mdoc/WebSocketSharp.Server/HttpServer.xml | 212 ++++--- .../ResponseEventArgs.xml | 39 +- .../WebSocketSharp.Server/WebSocketServer.xml | 9 +- .../WebSocketServerBase.xml | 2 +- .../WebSocketServiceHost`1.xml | 1 + .../doc/mdoc/WebSocketSharp/Ext.xml | 12 +- websocket-sharp/doc/mdoc/index.xml | 10 +- websocket-sharp/websocket-sharp.pidb | Bin 232075 -> 244924 bytes 89 files changed, 1913 insertions(+), 580 deletions(-) diff --git a/Example/bin/Debug/example.exe b/Example/bin/Debug/example.exe index dcfd957b373c4572cb4eef8b9304b2c1d92589b5..d8ffb3f9418a769429e1fea025229c1e5a29ecdd 100755 GIT binary patch delta 146 zcmZoLX)u}4!L0OMVq$kA69e-^Md8VcjO{?y=2eWRI9av{&0H|Kf?I`Y@`BCtxbLwG zT}V#m9Ji2)8)OpX*WW}dlV+vI+cOh%5$KSh)o qpKO*DHD_dYVBnt|E~d$E$zZ^s$6&%>2!_U+yTytaH#187X9NI%7ApP# delta 145 zcmZoLX)u}4!R%wmJF&Zw=?~LHMd8VcjO{?y=2eWRI9b*Stz({C!L7oyhI#Wm?tAP4 zE5$FgX2&)APU~E}@>BU~-N}sNO_TXV?0ApZ0THhtcmMzZ delta 82 zcmdnXyO&o%WLf=RWwjTsMhpov6?)@F`!9?Qj2Y_uU%z k)s>-stqQeA^KXpRN}7&iHMK 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 C*uG@| delta 2536 zcmah}c|4R|8-C82F)>3OgRH&GP%5GN+DXieeOI9`i7YQ!vb23tmQo36I@(A``65G% zvX)A;sJCQq(P}HLlG4}fJ%hLR&+qyDuIIjIuIswb{oLm{&%Si}zI3{lVqVNo?HPUM z^QrM`L972y#=c_~wRQ{X8xvLmq1JJ9z3Wp%Y1B^ZjIE(1mpkqq7T$8=KAaWps%AFG zJFVQve)XTEtt_UaOo)TP*VC#7k*3 zrl{a#unr9cm^3Cv)!7_+c00drL5MN_4%VU#oIm>cqhV%eet5cgY`%FE`@#^UB6d{U zi(~CGcW=)zh0}V@5Z&AMBlVZJPXy_;X6` zmco)lb%pVi3pP`AR3OdIS(N^5&AP)@*&XZad4_o>@F;yX8c9F$JMEd4b#dF!k1WmX zmDpEm9nv+=GLDJZW>coc<7yfXy~RyZo(SZ5?ya01ZFb&uTFrl}*O%iJ3|G`Pe5h2K z6Kj{{mVB|g%jqgU%LqX=H6O%tyy|U)&LK7LH>?=N+)4guy56+2*F|9tIj{>w!eeD&;BiuhwSR z;#wJR#Gb7+sJw=0ThbIBRDCK}jOQ}FP%q-3Sy2gA#d&#m)c;-g6=yToBmI-i#pkk% z%_naf;H(#`R3*qYt#0&g76@

}2bQlg33Dt`xY%@PBWDzU zWci~P;B`Ou;6bY#l|)UMo~y^OzibF<V|H!Ox>0>_?4_Ls^4YuOkDKb zZco+l!gC8vWwD!_AF^XNUs)skpV|KXDQSJ$*YxpSIe+y1){5@0+vb}WV!$p&Qk$Tj$5H@4fB4J>8+@gmrW|%u=J!+`_y7p;y zvT088yFPh{ zfJ!-U>?OaN`=T&yRb=-OhmyOVYIdo-Fe%s5su4PIBGv4N{k{J>kWJZO4$E}5t6xN9 z;HFUWhT6uQc4XhGvPw7;IQP@w68Wk}mQEToFE{Ua%c;JfrICcq*p6DC&OG0|x^&R; z*prcg!`pN1Gop$$y(^}x3^lYKlQVtB#TVFaTr$i0AQL@PQNQz&S&0HAIz#>D7FS)i zeGhYflVODk<&3>$jIp1B5<2ra;OS_?d((oCf%iOLmv!R<3SMaQp1UA$=Oy#vR{QY% zjjKcPh(Z9j_{-|vPl@&Xipeg~HoP*n+K12_sS*!bWIFVW25%UYjWB!(u2E#81|08w z&t!$;CFRib{#0-S?oxC@Rd!2H8wc@i;}3JJFBvJwV-qE3q<*PIJABPdTj49cqmK)= zV4S725+z;u_~B%ilUYUg9mCs&nlmw+>W->RoiBe)`^-CWanUyBp9K|o<5VZ4Sd`ol zyJe$Qev)$LGB;irzB6?d;%`sOq0i-8oYD&$&Umw|8XG8YNADas{OWuM{z0KT)4@3W z1HPoZ4Moip>qn1#wi8wuhQ)cv+{VjQf>G?g4;mzgG~*U%aD-o3AeW$?!%|g>%=VNgHdu#@d+P~LXZWdWhphYOoRFOp!Lw#n(g{KpS_7R2OOkCXbY#`ROsV`1}|SKA!N*r0GmBNl&0f z@)MZyn@Z`0 z4hMT-YVR-VJ}wrkfo6P%+@IoZ@qF+TtCVrUF>F+(rjaLkG)c|-ebC`SA8hLTWh@eh zmwo&V4gl=ad>g(8VuO~&Gh&hoC@PNN0i+mbNz5Qj!Cd}TVq$kA69e-^Md8VcjO{?y=2eVeI9av{9iBgV5w{A{-uatPa9eN) ztiQ~8F5^Oq$Ih)6ZXMt3SF~AB delta 146 zcmZp$Xt0>j!R%+!rw6zVob^ZJPx}{xVMH6|?7E!o&avOD0E(88fe7UN^a4ER&IC@=q~k t#s`~a#myO+Z5Vhbhf8R3TQC?g=rLF_7&Dk{?w2THoM^zZnNjLLBLL8)EBXKc diff --git a/Example/bin/Debug_Ubuntu/example.exe.mdb b/Example/bin/Debug_Ubuntu/example.exe.mdb index 8a76659b61c274515cae679d55d5cedf1a66b4f7..1bec63f1c65ad901140f514d4db58abde15ef838 100644 GIT binary patch delta 82 zcmX@ddyZE@WLf=RWwjTsMhpI49Lv050P9KxaGK`y80gTlnP5=M^ delta 82 zcmX@ddyZE@WLf=RWwjTsMhp;eO(J&o9`6^9`vNB1cb+w~ZK6WAKtwF>kt()kkNHxQ kT9j@*m7lmfP(UhwmHF)F)BHE>v}w8}@NMsA8OBYl049nd`v3p{ diff --git a/Example/bin/Debug_Ubuntu/websocket-sharp.dll b/Example/bin/Debug_Ubuntu/websocket-sharp.dll index c0b1212e0ccdc6afd8520a0f240993d50810b5ec..58f0052bbf49b4956a4929ef796fa9323f67b2d7 100755 GIT binary patch delta 20527 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 F{{fefo?id} delta 20235 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 diff --git a/Example/bin/Debug_Ubuntu/websocket-sharp.dll.mdb b/Example/bin/Debug_Ubuntu/websocket-sharp.dll.mdb index 2a1a234f591f40e536669c1fe8e104ee311b1e6d..770474010568ecc83ff86420495feebd950e2ea1 100644 GIT binary patch delta 2511 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 ULmn0okm+Oukmx2E8BtRG9{@$k{Qv*} diff --git a/Example/bin/Release/example.exe b/Example/bin/Release/example.exe index da023714e462c038a910bea441a43996974f6ab0..a45ea0b1a40a8a214b53ebbd0173ba550aad520f 100755 GIT binary patch delta 145 zcmZoLX)u}4!EF9rVq$kA69e-^Md8VcjO{?y=2eWRI9av{EnYCWf?I`Y;eyTcxbLy^ z=iO*pzwZyfPw#0P>6v2nlNrUEC-aHe@vdNEfP)p2BSnmv7cba0xnCrckz?{t5oN|F qn`K4K8JQgz_$P;pY4Te#7%=EDm@pUup%H`e=5Dbf#?6cp{}};ZQ7W?l delta 145 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 F{{i?id;b6c diff --git a/Example/bin/Release_Ubuntu/example.exe b/Example/bin/Release_Ubuntu/example.exe index 76d03f249e999c4c44dd443706402a961437e6e4..803691fc911b0206dd504bc5fddded56958c15db 100755 GIT binary patch delta 147 zcmZp$Xt0>j!Tjx;#Ki7KCI;q-io%l>8QX!Z&8rx{aI$O@YFaRP5w{AH^@7bOxGgvY z8Y{ORQ1-g*zUrff*k%=-=bHsZ{xVMH6|?7E!NdRuD<(&Z88bI6*fzOeER&IA@=q~k r#wVL)#myO+9T@m0hf8SkTQV3h=rNcu7y@Y^dvmu$5#we?ssD@s{`4!p delta 146 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 Je57`R{~vU#<`)0} delta 20473 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 D|FwNJ diff --git a/Example1/bin/Debug/example1.exe b/Example1/bin/Debug/example1.exe index 7790c277fa34925395ae0ad59aa47b177b287f78..61e2c478d5c39addeee5debee78a1f4b2d9f6325 100755 GIT binary patch delta 146 zcmZpOX^5H7!L0gSVq$kA6A$x5Md8VcjO~m(n^!Wf7h%~ZG;6`+7%>&5$qP0&iLnU? z1hxx5@)HX4?mOTyx%k`LkDCQ`$`~i}Y1r{@VPb%TEt4ZPjG1RG*fzOeBa=~N@=pzA r#t)liHSHOh9T@m0$7^ZwTQV3h=rNcu7=oe6=E+)FjGGyC{xbpqtG6rC delta 145 zcmZpOX^5H7!R&9yJF&ZwiGz8fqVQxz#&$-I%_|w#i?FN{TF*Q=Mofii4fEzEF*X5# ziMGFvmiI8ZugmHdV=bS2ZL^?G8RKL=4LjZqObl?aVREE~G4p!nb(8xwG8qLX|I|=s te6v|r)1HyphJkl-yp|@n1%nZT9)l%=34`(G=~`Kg6Af54GwS?j1OQ@IDGdMs diff --git a/Example1/bin/Debug/example1.exe.mdb b/Example1/bin/Debug/example1.exe.mdb index 1663bdc8ddd8a80a54eb8d0e74b5aa3f3a33add9..53e6df744a19036b6982dea77dae6717a1c6156a 100644 GIT binary patch delta 103 zcmcaCb6G|~WLf=RWwjTsMhp-T*e?9YPbkd0?|{eT;%{$1PE?pEpy=PU(`x&Cml>Ys zdsMALR!=+_EU?Mc+M;^*SGRppB8++QOK(h8Ve}O!$gcc&XiJ;xf{4TlEvviJHa9X} G;sF3GQ7UTy delta 103 zcmcaCb6G|~WLf=RWwjTsMhp-z(e~HT@*XDlby?kFtmTuhO;ngD@a?U%z{~_|-@Q9{ zkA%Hvx-;=$uz+gI<6YXK7C!yIH_Aqfx;IQ#Ve}OUiE+DXe?!T6^)olQ=9QBpHa9X} G;sF38v?*r* diff --git a/Example1/bin/Debug/websocket-sharp.dll b/Example1/bin/Debug/websocket-sharp.dll index 4f518365f1de8a7f89553c78770c00b71270c3c7..83633d5db71f44c1cc2bad2ce07d7cf10871bf8e 100755 GIT binary patch delta 20527 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 C*uG@| delta 2536 zcmah}c|4R|8-C82F)>3OgRH&GP%5GN+DXieeOI9`i7YQ!vb23tmQo36I@(A``65G% zvX)A;sJCQq(P}HLlG4}fJ%hLR&+qyDuIIjIuIswb{oLm{&%Si}zI3{lVqVNo?HPUM z^QrM`L972y#=c_~wRQ{X8xvLmq1JJ9z3Wp%Y1B^ZjIE(1mpkqq7T$8=KAaWps%AFG zJFVQve)XTEtt_UaOo)TP*VC#7k*3 zrl{a#unr9cm^3Cv)!7_+c00drL5MN_4%VU#oIm>cqhV%eet5cgY`%FE`@#^UB6d{U zi(~CGcW=)zh0}V@5Z&AMBlVZJPXy_;X6` zmco)lb%pVi3pP`AR3OdIS(N^5&AP)@*&XZad4_o>@F;yX8c9F$JMEd4b#dF!k1WmX zmDpEm9nv+=GLDJZW>coc<7yfXy~RyZo(SZ5?ya01ZFb&uTFrl}*O%iJ3|G`Pe5h2K z6Kj{{mVB|g%jqgU%LqX=H6O%tyy|U)&LK7LH>?=N+)4guy56+2*F|9tIj{>w!eeD&;BiuhwSR z;#wJR#Gb7+sJw=0ThbIBRDCK}jOQ}FP%q-3Sy2gA#d&#m)c;-g6=yToBmI-i#pkk% z%_naf;H(#`R3*qYt#0&g76@

}2bQlg33Dt`xY%@PBWDzU zWci~P;B`Ou;6bY#l|)UMo~y^OzibF<V|H!Ox>0>_?4_Ls^4YuOkDKb zZco+l!gC8vWwD!_AF^XNUs)skpV|KXDQSJ$*YxpSIe+y1){5@0+vb}WV!$p&Qk$Tj$5H@4fB4J>8+@gmrW|%u=J!+`_y7p;y zvT088yFPh{ zfJ!-U>?OaN`=T&yRb=-OhmyOVYIdo-Fe%s5su4PIBGv4N{k{J>kWJZO4$E}5t6xN9 z;HFUWhT6uQc4XhGvPw7;IQP@w68Wk}mQEToFE{Ua%c;JfrICcq*p6DC&OG0|x^&R; z*prcg!`pN1Gop$$y(^}x3^lYKlQVtB#TVFaTr$i0AQL@PQNQz&S&0HAIz#>D7FS)i zeGhYflVODk<&3>$jIp1B5<2ra;OS_?d((oCf%iOLmv!R<3SMaQp1UA$=Oy#vR{QY% zjjKcPh(Z9j_{-|vPl@&Xipeg~HoP*n+K12_sS*!bWIFVW25%UYjWB!(u2E#81|08w z&t!$;CFRib{#0-S?oxC@Rd!2H8wc@i;}3JJFBvJwV-qE3q<*PIJABPdTj49cqmK)= zV4S725+z;u_~B%ilUYUg9mCs&nlmw+>W->RoiBe)`^-CWanUyBp9K|o<5VZ4Sd`ol zyJe$Qev)$LGB;irzB6?d;%`sOq0i-8oYD&$&Umw|8XG8YNADas{OWuM{z0KT)4@3W z1HPoZ4Moip>qn1#wi8wuhQ)cv+{VjQf>G?g4;mzgG~*U%aD-o3AeW$?!%|g>%=VNgHdu#@d+P~LXZWdWhphYOoRFOp!Lw#n(g{KpS_7R2OOkCXbY#`ROsV`1}|SKA!N*r0GmBNl&0f z@)MZyn@Z`0 z4hMT-YVR-VJ}wrkfo6P%+@IoZ@qF+TtCVrUF>F+(rjaLkG)c|-ebC`SA8hLTWh@eh zmwo&V4gl=ad>g(8VuO~&Gh&hoC@PNN0i+mbNz5Q_VaL0Li2)9_OpeqrW_VaL0Hi2)8aOpeqrW}d*fZgRgyCZoXQpBl=H oZ#K(n+A}iSFz`-}*V1ISU@&6PV=&n~Su2lmq5;chMxFnR0D18$_5c6? diff --git a/Example1/bin/Debug_Ubuntu/example1.exe.mdb b/Example1/bin/Debug_Ubuntu/example1.exe.mdb index 30bb111a96339f2fb6f793a71c1d7dd8f8809500..63193eaab775bd735fccbb9ffb49b8db52e69143 100644 GIT binary patch delta 103 zcmaDN^F&5LWLf=RWwjTsMhp-zxxH1sBW#b`svD1tf9gs(OjMXC5Gta}beP@4fAcKH zjhv!8#U>sM7O-ya`hBZ*k5jw2{%Y1D6{pE6jJ^WP)VGE9hG{$OU^3qrt}RlqxsmZP F4*;IAC6oXF delta 103 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 F{{fefo?id} delta 20235 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 diff --git a/Example1/bin/Debug_Ubuntu/websocket-sharp.dll.mdb b/Example1/bin/Debug_Ubuntu/websocket-sharp.dll.mdb index 2a1a234f591f40e536669c1fe8e104ee311b1e6d..770474010568ecc83ff86420495feebd950e2ea1 100644 GIT binary patch delta 2511 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 ULmn0okm+Oukmx2E8BtRG9{@$k{Qv*} diff --git a/Example1/bin/Release/example1.exe b/Example1/bin/Release/example1.exe index 23fc8112553d2db0501eb70fce27fd08c47428ee..a472a26581e7950da5dd3c59e2d441062157802c 100755 GIT binary patch delta 146 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 F{{i?id;b6c diff --git a/Example1/bin/Release_Ubuntu/example1.exe b/Example1/bin/Release_Ubuntu/example1.exe index 105456f5e0f17318271f968859c93b5b71d87cf1..0a731e858bf2be8afe3e4089d26c66bc32ca4e49 100755 GIT binary patch delta 145 zcmZpOX^5H7!Tj@^#Ki7KCLZRAio%l>8QU3oHm_v7E5fo(sAa+AE-@7*>jj%Ph-C-} zSl*g{{=WAL=Uw5GcI0f+;+ZU{{cJLyh8^z~CI&dzGC5Min7L)aw#oe(nT#Tne`+W* se%LIlY0t>)z`#E_UQ3hTlEHvMkHLh&5J+1x7;T=cmBqN3QRhD+0AdX-YXATM delta 144 zcmZpOX^5H7!Q5=fJF&ZwiGz8fqVQxz#&$-I%_|x2im|h_OH7670Q2SzVi^Jg z2X2`boe4hZFemS5+RZbwZ%-D~em0p;!;W_Y69XJj8L%zTo0-Q<3aOh$ppKQ)vY s-)xrEv}a_tVc?w{ucgUt!C=Io$6(1|#$dU5x>gqBL<5%1j5_}r0k-8W1poj5 diff --git a/Example1/bin/Release_Ubuntu/websocket-sharp.dll b/Example1/bin/Release_Ubuntu/websocket-sharp.dll index 32c7c8b9d68e917b3ea514f1457b83a2c85dc6af..25a32dc90ba7648533d27fceb568be953c4f8120 100755 GIT binary patch delta 20802 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 Je57`R{~vU#<`)0} delta 20473 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 D|FwNJ diff --git a/Example2/Example2.pidb b/Example2/Example2.pidb index b7225fcdc290ffeadd14fc071bc16ebcf707dc4f..5ce8a32a0cf568f0770d25f44da9284f1198736a 100644 GIT binary patch delta 44 zcmV+{0Mq}TJDxj`hXMitv5D&m0W!073WNdyf0OzQhXM1mf(>5{1x}gH-q5q=8n^;? Cn-Tv2 delta 44 zcmV+{0Mq}TJDxj`hXVcpv5D&m0VcC`3WNdyd6W7KhXL`kf(>5{1@wba709#Z8n^("/Echo"); - wssv.AddService("/Chat"); - //wssv.AddService("/エコー"); - //wssv.AddService("/チャット"); + wssv.AddWebSocketService("/Echo"); + wssv.AddWebSocketService("/Chat"); + //wssv.AddWebSocketService("/エコー"); + //wssv.AddWebSocketService("/チャット"); wssv.Start(); Console.WriteLine( diff --git a/Example2/bin/Debug/example2.exe b/Example2/bin/Debug/example2.exe index 009e9280f9fbfea15c1cdd4caa2267292cbc015e..d09c757a9f4e75ff4f8f9726ca32ae250ebc38ae 100755 GIT binary patch delta 736 zcmYk2Ur5tY6vw~k{@QPAE%)0Jn#qWzP@~O?H1Z*9zBL#oGixRIXROjjOC6LbI(^W< z{*6lyVh@8M5oy-0F&i8xH?{d%0g>s>X zceF!4efjxm;nMPfJu*PORF>0pkX-T!y`hRZEQ%t$t^p14?8xAatE1q!Z3oT~d*|a= zcK{A6Z%=0ixb{ItZ2eQG1X~9H_R>w5%iAh#BtLl*mv6@h-jK};`8tztAMwD1RtE!@SjU9XfVMtgU`=9cNy?$zf z-8#%5gdi4hl<)Z#C*Z;sKXom(5kmxxbP;FKN~C&v6#JMFO7Xu@_B&zC&UR0lo*SVYS1=Oid2)P zh!!o{Fb6e=2SrfPlCo8L$U!h_PYO~HJoF%V5f2K22#UU4qBzTZy#If1-p&j&6`Bgo z&B*@EuF{pF&}AvOMg=KJOR7lgNmmc(6|I=#;;z_Ol|cKz>FnsqV>$51ID!4d-hlyB zbwIb`-I-HII9F3KN2(AJZ1K?02oKLqh%%E*4b$vsn6X*LeU4Xb{^ULyI>@TuLs7U9 zrxVnOGTmk_GBv#8tcI`ji=8{dau&q0(D2^ocbjYF@(^2H(n{>LIbt&}Z}CBZ4Z#{yMb)sR*TT43b7 zNN|siHmjnD3nI^ItgdE7h}Ah;)u8yQBxdU>EuOMks;jbii3aXKNC}H$|5J521BD#B zew;-JotQ(I_xT*#(2Ng!)joVdFJcJLA?!n#$gWA)Jk0E-qr5i8ejlte^x-mPk-}q| zz$ji&9)oyI(-_ApUE=IVy2|k*eWY>UR^Ur$xuIx mcKU3#dUlcA371NGJDa+(g1eA&r)JG(p}r^ak-<$O=Yu%<6h&M|iHcGF0muy4mK>+R1q;v#d~79L^H=*w0639x zF&9N+Xm2iKbNEqd)73oBMyP_px$+{Lh?95$N)Sg3Z0;<^MM}B2ues#auI{ta0r~=i C#6fug delta 148 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 C*uG@| delta 2536 zcmah}c|4R|8-C82F)>3OgRH&GP%5GN+DXieeOI9`i7YQ!vb23tmQo36I@(A``65G% zvX)A;sJCQq(P}HLlG4}fJ%hLR&+qyDuIIjIuIswb{oLm{&%Si}zI3{lVqVNo?HPUM z^QrM`L972y#=c_~wRQ{X8xvLmq1JJ9z3Wp%Y1B^ZjIE(1mpkqq7T$8=KAaWps%AFG zJFVQve)XTEtt_UaOo)TP*VC#7k*3 zrl{a#unr9cm^3Cv)!7_+c00drL5MN_4%VU#oIm>cqhV%eet5cgY`%FE`@#^UB6d{U zi(~CGcW=)zh0}V@5Z&AMBlVZJPXy_;X6` zmco)lb%pVi3pP`AR3OdIS(N^5&AP)@*&XZad4_o>@F;yX8c9F$JMEd4b#dF!k1WmX zmDpEm9nv+=GLDJZW>coc<7yfXy~RyZo(SZ5?ya01ZFb&uTFrl}*O%iJ3|G`Pe5h2K z6Kj{{mVB|g%jqgU%LqX=H6O%tyy|U)&LK7LH>?=N+)4guy56+2*F|9tIj{>w!eeD&;BiuhwSR z;#wJR#Gb7+sJw=0ThbIBRDCK}jOQ}FP%q-3Sy2gA#d&#m)c;-g6=yToBmI-i#pkk% z%_naf;H(#`R3*qYt#0&g76@

}2bQlg33Dt`xY%@PBWDzU zWci~P;B`Ou;6bY#l|)UMo~y^OzibF<V|H!Ox>0>_?4_Ls^4YuOkDKb zZco+l!gC8vWwD!_AF^XNUs)skpV|KXDQSJ$*YxpSIe+y1){5@0+vb}WV!$p&Qk$Tj$5H@4fB4J>8+@gmrW|%u=J!+`_y7p;y zvT088yFPh{ zfJ!-U>?OaN`=T&yRb=-OhmyOVYIdo-Fe%s5su4PIBGv4N{k{J>kWJZO4$E}5t6xN9 z;HFUWhT6uQc4XhGvPw7;IQP@w68Wk}mQEToFE{Ua%c;JfrICcq*p6DC&OG0|x^&R; z*prcg!`pN1Gop$$y(^}x3^lYKlQVtB#TVFaTr$i0AQL@PQNQz&S&0HAIz#>D7FS)i zeGhYflVODk<&3>$jIp1B5<2ra;OS_?d((oCf%iOLmv!R<3SMaQp1UA$=Oy#vR{QY% zjjKcPh(Z9j_{-|vPl@&Xipeg~HoP*n+K12_sS*!bWIFVW25%UYjWB!(u2E#81|08w z&t!$;CFRib{#0-S?oxC@Rd!2H8wc@i;}3JJFBvJwV-qE3q<*PIJABPdTj49cqmK)= zV4S725+z;u_~B%ilUYUg9mCs&nlmw+>W->RoiBe)`^-CWanUyBp9K|o<5VZ4Sd`ol zyJe$Qev)$LGB;irzB6?d;%`sOq0i-8oYD&$&Umw|8XG8YNADas{OWuM{z0KT)4@3W z1HPoZ4Moip>qn1#wi8wuhQ)cv+{VjQf>G?g4;mzgG~*U%aD-o3AeW$?!%|g>%=VNgHdu#@d+P~LXZWdWhphYOoRFOp!Lw#n(g{KpS_7R2OOkCXbY#`ROsV`1}|SKA!N*r0GmBNl&0f z@)MZyn@Z`0 z4hMT-YVR-VJ}wrkfo6P%+@IoZ@qF+TtCVrUF>F+(rjaLkG)c|-ebC`SA8hLTWh@eh zmwo&V4gl=ad>g(8VuO~&Gh&hoC@PNN0i+mbNz5QG2b@At8y^KpLP^E~f4hx48p|BU~^ zZ6)*5onOcayOQ@dNiPjhMdoNf+2s>@L!0`TD2k4C1!#+;#}n7DOn}F&df+T^b}oW- zD_}MBsbp%1YaeCMGMGIsIO3tg1_#eh1ejNuDi%0VkvCby3hOT>E#x2-9b~NUqW~HZ zqcqu2q{qxvrix9js`y2!u;HmNlILPWsQ79UilJMTjf?y{YMQXgq{(?@nHvGRg+Veu z4G|F%mVfRNJ0ClRr-oR~S@^P3;w5J@a!PIX#Kkh}lGiwA&h2I`@WONzq~wa)GCU{x z`Hc2`#)=&7iVVBantLex?50gu!4f}}f;%;r5@mMJYOW}%sN)j|Bf{Y1|C9&oTe8!f zHe(ik_^^mBzUNyUfgRiY)Gq9x7eTbs1)N3?k-4VdWQ-Z4IPVQ{9){6F7?Q>@h%((o z0`DnVD(SpOi2N$eGioOo4XL|gJh{lxCFvsy6P1rEqwt4FLBWYU`5 zbv`~6Ney3%r}b^?Wrd*k*`q>heWV>bGkPPqwDzg#b=SK({Z&JVWP=viQ{o=~j*^UO vhm~rfEbnUxa>*U7jlSz1#|ctSqEQYweT_ZbbSJu*hB~B6=LqTK`b~cTaIcWB delta 723 zcmYk4PiPZC6vn?d+icdh37a%XOUNN@L4v7`TBHYw#DmyE!CEv{A~7vSqCwk4D554! z5G`6XVGd#t4@yA~mX@v3Lk@*T?a5w>LJvI%9{h7q5LBq>+ck=_%#ZhdZ|3d1*_{kd z21`>)OP8a3vmi93>~E2NiqoPj&^FTKV|qzz#<+MWx~dA$F?1o5I(Iq?9%(yph}b(a zgsKK;X1qUreuQ&18L=huJ%TMBDjMP9xdUNloT;M7j*2OZ6+Gg2&Eh84QPD}}`U4b( z6Hz)#ji}Il<^og28_ufuLO2Q7|T%qjP{5n#J8 zN!FvIUqpoMpE}Gcz)In%BU)EBK5RxTu{R+vscpWPnBjQAZ`Qfi+RCv&)lxMi<-F=0 zy&_^MP+(;~>~vZZQ}d{qjj>nbUpv0ALFig3jK9)W^<|ZvF~a6`|w np?A+R1q;v#d~79L^H=*w0639x zF&9N+Xm2iKb2z2lK(l)qM60NNp7i5`36ppMN)QoT`%10y)+NyB=f<w=nwQTqa>CX;Iksy%}Jiiy0 z@kO;tv$jR&_gHJVLp-4CaLGZeFv}0r~=J C9zKo$ diff --git a/Example2/bin/Debug_Ubuntu/websocket-sharp.dll b/Example2/bin/Debug_Ubuntu/websocket-sharp.dll index c0b1212e0ccdc6afd8520a0f240993d50810b5ec..58f0052bbf49b4956a4929ef796fa9323f67b2d7 100755 GIT binary patch delta 20527 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 F{{fefo?id} delta 20235 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 diff --git a/Example2/bin/Debug_Ubuntu/websocket-sharp.dll.mdb b/Example2/bin/Debug_Ubuntu/websocket-sharp.dll.mdb index 2a1a234f591f40e536669c1fe8e104ee311b1e6d..770474010568ecc83ff86420495feebd950e2ea1 100644 GIT binary patch delta 2511 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 ULmn0okm+Oukmx2E8BtRG9{@$k{Qv*} diff --git a/Example2/bin/Release/example2.exe b/Example2/bin/Release/example2.exe index b93f723109aa55a853c8e231afc21e8c4b1f7fa3..571c58bf2877a0a214ef033032c69b1b3a553512 100755 GIT binary patch delta 736 zcmYk2PiPZS5XQfGYc?^)bQ1%nlp?VO38wL16$@I8o(z;4f@rkRv?Xe4Ft!b7X=#%l zTA}_6j~)sNkq|^Yl?_pff=a4Ah*~e6go1}03LzriyhwRq=~dVaF3;ILl&9sQ79UijnV7*3R?iuqh%YQzqw>5)T4&3WH=W z4N(ymmVfF3D?clRw}yB_S-9B=@sho)oKTxv6Qaa<*=N+5^?ErMcy6jH(sD^{8JZP+ zT%&!baU+M@Vv5zZhFTB-R+FZx;yyo>f?Exh78O>{8mcJXU=vp$3=4zf|5NUbPWf{{B vD5XM0-qn)ik#((&zU!^7W278Mlk9i{WJ?C&H0uzDR zX*syNCU-k4Oqug-Q9g>%iptVm0K)phuS2*U8tDI7Ag>Lx-v#FkUARRl#POWQ zki;v>pbu|p5~J9pDb9YRI~;!^#s8}n_nlRSaI8)Bt|DDE=U&y<3pA;S=@m;-4V&Zk zH!~saGu2UHO?9?4HXi7WQ&zhhNlw>_xkM&pkxBV3|#Izv&M_IEfYj diff --git a/Example2/bin/Release/websocket-sharp.dll b/Example2/bin/Release/websocket-sharp.dll index 82be0547f75fbee9e1fc541d17cedf0432967366..b0dae019043b75ea77f82881ce2e2967157bfbf1 100755 GIT binary patch delta 20802 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 F{{i?id;b6c diff --git a/Example2/bin/Release_Ubuntu/example2.exe b/Example2/bin/Release_Ubuntu/example2.exe index fc484631a2baa5cddba0d3b7654b7f86e45d648c..a0736b00c775b2d50eb6c8c326ecb75f56ef9303 100755 GIT binary patch delta 736 zcmYk2Ur5tY6vw~k{MvP`r9YRHA|sYUjHVSzG$L#D5D8*3qE?dsST!3h|3HbNQ&1}_ z8?nHpuUkqKt<(g#!sEYRYCazxUgT##@;1r2>I*MgC z;I{K)$yBGDz1I;}$H-w8OG3eeQdzZV5MCB4Oo^kAahSz|!VgmH!DF_ar@X=npB%!l^PR@ZIoS?6qQzm-;iNGqg8=nxlbp{) zlpERgPn{PP6lKUV(Oyt4X?Bobh?mxbs=^=VIms6TcAbgxa>*Ib9F<2(FR03{32v1d z)w}E)qqxh%qOKLx0}hEAa#S7<<*5wZDX0|ZL@gCmmS16$R3LP-&4K@^_ZC%-42fHT zF@zAr4E9N%Z*Tx!tjklEVFOKwpqkF&B*H|_omPkK!U)CX-$wCUV9(G3O}*$qj;D&XmFW$$ioRO@(j#OXMTu_n1xvy*bS>(!U-mHSEbZ$ii^_h}AC8BRmH+?% delta 723 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 Je57`R{~vU#<`)0} delta 20473 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 D|FwNJ diff --git a/Example3/Example3.pidb b/Example3/Example3.pidb index ae95211cbccfcd58bc582434c785fdda2a165974..cf7315bef15eb53e48a42a6d5f41fcbed06fddf7 100644 GIT binary patch delta 179 zcmccQ_{U*FJ7d+vjw(j0&CHBK%#8CVi?Nt8+HLk>Im^h)pPv_$T3nEySDYG>KUs!N z(bkoLfx#At*?<@V7=cs~5Ob!MrRJ457Nr-1#s6mkDUck9D+n=V@=FN^g%}k6slaKPXGsIuL7Gp7GwAt*#a+Z;qH9v2%8k=H$6axc;H4w7_ zF$6FHsUjd|FG?*eO)V|~i~cVLQbOUWNx}Ka*{LPL8Hq&&dVZ-Tj6h+K3Sp0uk^-O1 z;*!+7)S@6HjbPmn!VpLqgP5g2%u$qDT#%nv5DTM-% zX@Qd&SwuGPU^8T8y34frHFq-;qr~KVzII00&ENU{@G$YQZ~iL1gpu_Lt3|}=>fh LF>&;8K=cCuc1c2{ diff --git a/Example3/Program.cs b/Example3/Program.cs index f077c3fc..2f5654ad 100644 --- a/Example3/Program.cs +++ b/Example3/Program.cs @@ -12,13 +12,13 @@ namespace Example3 public static void Main(string[] args) { _httpsv = new HttpServer(4649); - //_httpsv.Sweeped = false; // Stop the Sweep inactive session Timer. - _httpsv.AddService("/Echo"); - _httpsv.AddService("/Chat"); + //_httpsv.Sweeped = false; + _httpsv.AddWebSocketService("/Echo"); + _httpsv.AddWebSocketService("/Chat"); - _httpsv.OnGet += (sender, e) => + _httpsv.OnResponseToGet += (sender, e) => { - onGet(e.Request, e.Response); + onResponseToGet(e); }; _httpsv.OnError += (sender, e) => @@ -46,9 +46,11 @@ namespace Example3 return _httpsv.GetFile(path); } - private static void onGet(HttpListenerRequest request, HttpListenerResponse response) + private static void onResponseToGet(ResponseEventArgs eventArgs) { - var content = getContent(request.RawUrl); + var request = eventArgs.Request; + var response = eventArgs.Response; + var content = getContent(request.RawUrl); if (content != null) { response.WriteContent(content); diff --git a/Example3/bin/Debug/Example3.exe b/Example3/bin/Debug/Example3.exe index e0c67b70916e443c22a604dc3dd440687344cd8e..39c797931a29db148ad18f16dc8f65ad83b0e0f3 100755 GIT binary patch delta 1316 zcmZXUe`s4(6vw~k-t;AXNq;2Ey4Wp}T8C+ot+U-ql-kz9Cb}susoNY_v-(!smA*B} z6n`xZmaS#TTJCh4>qcaMv?9fgH);`;Q3k6BLlF^0EcnN8>d=WY2D*9PZ6}KF!RMUs z_ndp)d-o-8sA;HaY(&;ykBlEGh=3fgS*B{Ji>6e8?xBEshc42*GbpamMn9SW2p}lz z2wQ$pgR7zDe!uf6lVIqSB z^B5*!;B$5ie5H8>*Ez2xmygmmGLR*=`Uca)`}8T9_)&9(m}I9zBv6i&cup9Y6pk=) zN&DYRck(sq^BAc1xNO#ZGOvTJIih)5^JCAq-1H~YeI_sO4nX>>L{#1sCI6_^tlHs$ zmz_$~Yi00F1hH0LV>Zh_m>cC^%qiJSglTy{{Ty>A9*E>4deHA$zKKp*!VR&z+~PR8 zWS9iDFDYAAlf%fewvZ30CH0NmM5TB|tHn#082(qM$pZ;bNtb<^dCenCffN7B z7ai|nIH5lB)#QiyR}e-7_wrWF;1T8=4+~-*DXuJFJLe&K8mq95cH?fe(mp(aJ{rOf zyk z(9BkWZ-tl##T=K9ii;S!SvgqGTLZcFOi$J^%E!q$ULi!4 zCx*~^7YP|dxfg;$iD-#B8%&q+pN2v~pI3&~hY~6p>InhM%CWy>nki+eX{oJ}rA5uE~$*M5W9}S2$7Xr-GBCHB{+bq^mUNj)>prNe>qD!%&QBK9pJrO~oaV>Iw}y!&rh2DaJT`#zFTfKiiHd(+h+QWPcsLTk zD(y^uh#>0aAIwJi7jvV$!+b}!6JbJj(9MYIc+$#Ry3s9d-@{f}!3B}kDw)Sl876_f zW%s!dBC0odY8SPG5s%I7EwF_G3^_%|P!)R0Zb3f5!+u@6Txn&TaqK7k!*vtAZUO+wWr~PQeIy!`1*h8b}!w^qT z)r@JLX4-U)>yL3ffisk6zDpAv`GC&zS9gsj@fv=o3mC!QMA*1 z-Ue|=I{UrNPTsrADS6ksjlO57E^)XwJ%sJHeQ@Vs#!e0=)4P+IgQ?+6()pFo}OS((R3F;>O-8X2@VMvCvT5IU}(|FS&Ti(Zrsh1Jdq05^6V{ zP-c&sT*2riP+}*?=HbWYyYg4Zx@iZLL^fYyEM|0KW?(N$Ei6qfE@5EgC`v6Z$j>WI zWnf}Y&d)1J%>xQD{s#hn1q}ukCT2rMZfECgYi?)JWS|7oQ8uQhZ0{x)Fwf?*2JySt znY!6~*n8P0OR{va^}OFEJrxcass`M zUH&mA%M;GGAbDW8F*EZqax*#bf;2XBv9xfta=|1-8M#5uVV=XqGM8%}Oqicpijg}T zB)*x8WeeBV$p)+vY^S(bE^=L(?8hqM^n#1!J=X`2Y9!lP96&B(Y2#*V=bpd~lwx4c zElvm7&%(?JwBM1}86>}mn{6fcs>v%@wd)(085r_`7#NRiYQWf)0b*eMvh4uU>wuUY z$i4}r&jB$oB-nle>32X3^cI^CND~kP9l@pvq~(DaXepZmkTwHi9w0joNCyKkFOXdW dqzi$V56GSYq$jchwE|NS+YTUS_2d{fX8;m*kzW7+ delta 622 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 C*uG@| delta 2536 zcmah}c|4R|8-C82F)>3OgRH&GP%5GN+DXieeOI9`i7YQ!vb23tmQo36I@(A``65G% zvX)A;sJCQq(P}HLlG4}fJ%hLR&+qyDuIIjIuIswb{oLm{&%Si}zI3{lVqVNo?HPUM z^QrM`L972y#=c_~wRQ{X8xvLmq1JJ9z3Wp%Y1B^ZjIE(1mpkqq7T$8=KAaWps%AFG zJFVQve)XTEtt_UaOo)TP*VC#7k*3 zrl{a#unr9cm^3Cv)!7_+c00drL5MN_4%VU#oIm>cqhV%eet5cgY`%FE`@#^UB6d{U zi(~CGcW=)zh0}V@5Z&AMBlVZJPXy_;X6` zmco)lb%pVi3pP`AR3OdIS(N^5&AP)@*&XZad4_o>@F;yX8c9F$JMEd4b#dF!k1WmX zmDpEm9nv+=GLDJZW>coc<7yfXy~RyZo(SZ5?ya01ZFb&uTFrl}*O%iJ3|G`Pe5h2K z6Kj{{mVB|g%jqgU%LqX=H6O%tyy|U)&LK7LH>?=N+)4guy56+2*F|9tIj{>w!eeD&;BiuhwSR z;#wJR#Gb7+sJw=0ThbIBRDCK}jOQ}FP%q-3Sy2gA#d&#m)c;-g6=yToBmI-i#pkk% z%_naf;H(#`R3*qYt#0&g76@

}2bQlg33Dt`xY%@PBWDzU zWci~P;B`Ou;6bY#l|)UMo~y^OzibF<V|H!Ox>0>_?4_Ls^4YuOkDKb zZco+l!gC8vWwD!_AF^XNUs)skpV|KXDQSJ$*YxpSIe+y1){5@0+vb}WV!$p&Qk$Tj$5H@4fB4J>8+@gmrW|%u=J!+`_y7p;y zvT088yFPh{ zfJ!-U>?OaN`=T&yRb=-OhmyOVYIdo-Fe%s5su4PIBGv4N{k{J>kWJZO4$E}5t6xN9 z;HFUWhT6uQc4XhGvPw7;IQP@w68Wk}mQEToFE{Ua%c;JfrICcq*p6DC&OG0|x^&R; z*prcg!`pN1Gop$$y(^}x3^lYKlQVtB#TVFaTr$i0AQL@PQNQz&S&0HAIz#>D7FS)i zeGhYflVODk<&3>$jIp1B5<2ra;OS_?d((oCf%iOLmv!R<3SMaQp1UA$=Oy#vR{QY% zjjKcPh(Z9j_{-|vPl@&Xipeg~HoP*n+K12_sS*!bWIFVW25%UYjWB!(u2E#81|08w z&t!$;CFRib{#0-S?oxC@Rd!2H8wc@i;}3JJFBvJwV-qE3q<*PIJABPdTj49cqmK)= zV4S725+z;u_~B%ilUYUg9mCs&nlmw+>W->RoiBe)`^-CWanUyBp9K|o<5VZ4Sd`ol zyJe$Qev)$LGB;irzB6?d;%`sOq0i-8oYD&$&Umw|8XG8YNADas{OWuM{z0KT)4@3W z1HPoZ4Moip>qn1#wi8wuhQ)cv+{VjQf>G?g4;mzgG~*U%aD-o3AeW$?!%|g>%=VNgHdu#@d+P~LXZWdWhphYOoRFOp!Lw#n(g{KpS_7R2OOkCXbY#`ROsV`1}|SKA!N*r0GmBNl&0f z@)MZyn@Z`0 z4hMT-YVR-VJ}wrkfo6P%+@IoZ@qF+TtCVrUF>F+(rjaLkG)c|-ebC`SA8hLTWh@eh zmwo&V4gl=ad>g(8VuO~&Gh&hoC@PNN0i+mbNz5Q06u3 z-!3VZt!0P}x4MlvTiGA2NO9whI>gDSlSP!F2+D?7@Q>kC(1Ak+x_RDhCyMXE=bZ2N zoO|AT_r0XpTx=d2k;N;K(*7Y4kfqp7Dn^|&t%m4!3aEGKER~%Baf#OZ(F{NUL19M# z(-ij29Q=k|#~~pBBj8K$A6W?WAfkTFF$e7%@>J)ua(FbRh^6gGezC zVhRSnV#mO@nwRhg=W%lRAZ;cCIdZFSFim_wpOcB7G?$4fcG^V>Rmg~Egn=pH2ovYD z|ATZVUzR?PfjW=Nq~_xV9c;}J&7+zhd%okQKbh_`d3kpL(q|3oQ3AnDMa+3-?e-b9kPNOqPM!m5;|p= z1hyBC8_f)Pg!vpTKS5I&SMtO9ZO3PYGH z$PCMfmS^ypbQdNT)t9n`e8?=S3vvTh;$^KCE@5K$U!5ioBs?Kq_G%V1$C(0$|CcW~ z-i2^jo$|#B!~7M55y2h2RkPU0oa13Zl#$`eJhpHiq9?HechU~rhF02*N6||~Y(;_h z&Fyh#%wvSPk6z>cG4``~i%QICI>65RbObScPe+;8X&OBUh#9p3IN;}GV#Gm9U^Ja_&oF6#Ve&abNXDqE~gvN6XZGSiitt?g;MYp0c07tPh?V^(gL-Ji2EwzJg#2(7UOc3ZhT9?0i+J=BxS zTm9DHjTUrU`Og1}>~kH1eQHl&rSnnXZd!Jun6Wold05X{{rR@R?wn&(mB=|%Ekvy+ ziqKjYDH%nT7lJ~m`U-VCm|em@8VUt{UKv^&N~!u#cL?y@Z=V13!Z#bopC3=Qeo_9! zc_*}kR8{!iB`3tfT6NYoRHx8{Rs0{< R#IL>y&5o+=C5Ix{>2D>!2ebeH delta 1288 zcmZXTe`p(J7{|ZQ`(7^XrHx4zyR){Etktz+cBN~j!Oht@ti)3oA8{ZG{v!p+Kqm7K!7-orZ4kjb_`Kim z^E~&wchB98wU4!*Jt1ozuFg;7M1{;pS2$4`pn{X5)l}hpO4n%49TmUPQ(im-Kmb9J zv;nJ00;XlgDmW_5ru#UwMn(z*Bx{uhw#wxFtYorIl^a~X25!-Km10}iG#mlucr`q% zdorn^k-;>#!h9w03U_Jf>w)b9PAR>4IJuj1GtNeH6ZxFOW>nk}PSFf!UqBERh7e;O zMFA!*bHv1g<_-MHIzWn@w1rG=t+MYhEzHn7S-7EDq5?-+MGSs)i9TVXAd14mC86Sr zQg!}G{vk~mhGJCn@vL6@HB*|WH9s-FHB2lq)id4Zu>qvd08gYOJpZ~7yDk{;awLG2 z+L?S4LDb1x%trYqbG^L7oRl3zn3A1zGom^kv$M8tbX(i^u~~Y!AhJp&^VlZCB(SUO zUXryWajNXnay5BSEW6{fg}j*6?wGB5R$^YepnXn`v%8{Q4l{C^T~&kHA&1YhvX`x` z?E+k>E^I2hujHdtiQckXkWcck-_~w<3m?Y+Q^~KIx9ygSJ2iJR1@>uuMC+sf)78tN zGMz6gqS-_IErelXEe~uOTbUQRWe{JWmotml#riH@MjalYy=cT*I)LriNn_~8Fi%g_ zjBB1?X6Q86ALe)*Cn?W-kES^CA)Vu|?mL>sTlk&MV-$arA5r+86Bl_|Ddy0OMlsDp zQsc}aBfjR+ad8bNF(Iz&M&I*G`ds{o53tCUar_{D;mV)IlGY{GOU_4?8xzk`3wo%Z z`J(0?&DS;4{JXZ`kk;?gYt)4aI!s> zUgXHxYc)H0Yr9jj*13(o=czXSW?yO;PiHdww+*E;iIGHVMB7;;pnJQo5+WtJb=kGB@jf}wWg`iNZ-eW`%>QIO|SA%h% z4tIoNhL@amp}|11>hhkm*WY-ixX=^1^~j~GZqPnRjz9cZ^{iOFd&OC&KfGQ}(go*C sc!&bdU*QJ2>DJ%7iR1=UI|DV%zD~5E1?^}>n>$srkMgaCOZHv*2kWW(U;qFB diff --git a/Example3/bin/Debug_Ubuntu/Example3.exe.mdb b/Example3/bin/Debug_Ubuntu/Example3.exe.mdb index bb36e156f038167647920541ae6ab29774b174bc..667cde9d25e4aed68d2ac5e8e89cb345fac772ef 100644 GIT binary patch delta 668 zcmbQwyNx$eWLf=RWwjTsMhp7>gO5m>JlMQVUB{i%S?7If_z?3-a@d zQyG}plk@XRQuBa1G#Mztbd-(hDcifr1%P zcBXFj9`;`L$&xIc^&2^uHgRm`*uufUz{mtPgn^BLg_)V1iH(s9sGRvQC(9Aevz$P$ zW0!x-$?}BrEl3_1Zp_SljND8PydaIuTr4eItz0k(QATc%bC~CFvCQR~2NULJmSW`2 z28nOxV%fsAb+Q4g1luVtmWy1MCi}5UIKALvdC&C$q#DU~76*{aSlYPR+PNoi1Em<4 zbBohK_Omc^0_}I?bq2{V;$~aPy=w9bR_*!*W(J0QAO^-Gn;I~7Wq=qMzic~z^g1AB z2eNMh>2p8~3<8gJ1HHv21kwb=Ku54?0%>_523pGI0Hn=;m*?<^!^40O^UWK&`-3#I^&-Sv@(1%^3h5YL!0# delta 622 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 F{{fefo?id} delta 20235 zcmbuH30#%c*8lf@_5lvaJjtlc9A;#Y!zcy<3Mx5UMyOy;34xX-c|eS;tfXT-W@Z@P zvaGJAg_YejhqN@!%*?E?oQIoZTA96Tt-Tqn?)%>V=g;Tk@9ghdYp*>%1J8M|eyx4| z>-LKmdf$k3x}B+?cIF)1gWEDTqmia2A`+83#N51OZdby&9|6FP3T(*Pqk=^=(f(Fl(kSG-ewO zQ67mlECD`OTDP?OSwB4*Y2DH8YSn&-wdNeH;a=8tNBykdv`1RsIqGV4KN`C}{)cSA z?X1&}r?~h-)m*6h5@T-KTwCkO6H)w2tJ}#!Ys>K(#OsAk%49eUz^A4kk2YBLzK zHT7mJ272$2n8H4^-gPq0;tT!I<~l)0x^rhyGgckr%puyg>LBE)`34#_1w$L@GTON- z8jF959vXCOv|Cp+7H^FXs~P*JaQCioEMmB||0yrk(H>o1EZ&-|=JKC9>e3aB#Xm)h zj9WYE(G`uwTcan|xcn*Hp(`AVw}#jB{!_GTS2PwoqV0mN!nUijr%h!oJ)OXhTkB8z zM1Bs2+7qw_wI@LyGGLXts6DGrfkBq5PFp`bJ!j09Sh@BLn0wd>Qxq(7)me-&?FC1M zBdn^OELWYQs`ijZ*i|hSP|YLJj%7ncC~ZX}dQ1_p($Ip9b@3Vh+s;FkbUTQ!HT@fk z(Vn>X2dTZbhIZK@>ikQ}wi<2J)u4qQFtnen7tho>U4Xjv-q`=1wHK`Sot?`~>(8Hk znfo3GM+D}ar)hJGAV8a23|f21`uh1~etCWS`TjhlYa$9M0<~izunZHC_fsXmVtw_e zXbVgz^d8Ns105}dXu|X}0JavP34`gHglH(+n648fVcFSW`bEVRXr^DGII|EAv#Ni= z#6ab~n&~(USu_16gZgTs#_S1u=>~E?#xkIx6WtBreBQWnswsEaI=OH-gq$M&VW&n0Zyj2nr)RPYhpzR6IE-v*t+?m7bH4(@i99A zK0}qT-g9Y@BbGH&5X6Duk4s5hSd%VK27Uf=FVOccXZvD^_tYGJXihWrf=C%}inh95 z3E(#Cb}zrFrCk6r)RFF8CA4i*Ow zJ2TFKX3BD4>2$^|}c?R!ogbD-JBbgR+l?~J~GHCDM=6MyeL zzI$ai8=roDINg7j*=z%zdA(ps+-!VvW!T@e)fGmu(8}81kHJu%xtYP;*6+Ld9uM|} z&OgYKw7HFVQ2Ye#;WqHAm3H`iW(|Lyd+LRp_vK#tJkI@Wy`fGt)1Tx#MBmJLLWmC- zs(e8l%q~#dotgXq;M7vZVXguFbvKO<$_T)U{)vuk07SLX`J)M&{m=D9xB8L#CXGi1 zcMHbLPiJFQHXX4B!9#eU9w~SX@1+kH(DUB~Rt%0dRsY0}_sEKc zEO54{G4_MARUAMxdrN~;Km3%O&#jFI%R`Hxt~QtSrtNy1h6FHICF*WQ?#KJ+u|__? zquWs7zJS5lqVxqu9%PIC%=kio+=hqidyTw^C+R-+ygyIY@37~i4JqKZe)f^K{;55G zGb9X>?WMi_n70XQ>4a~W-KJMd<1$OMmG zW)FLJx+C`t&jQ3PAL7DH*{U25Wwd+WwBZNzgKm5n|FSL0o&T=6$HD5- z#ZsI55ln$?m4|Nj;tRQxzQv1&bS;3^u>e=Rcyf2Mnsl=_&&}BP2wYO;t!a?+5ROd+WWy-+|r{ z5@*NR%>XRl6A}TpkJX@V?7@&)hztyj0?SLG82_(OGn6NXVYwc3M7?V`mc7FqEQFiN(Gf0?Vm#@zh$p~uU&Ia0 z*#i;St%pb($-6kBxmz<&Kr`baQOA?c0JUZJN1g|*i^QCd2D+n0UWA;@krqt1Eb=>M z%YKYZ_poL6*<t;V!V0 zEE{|=axB^Jra3M%4Td|{QeTX(Fdei&=nQh#n6P&bLNzzm5d8)OJr=zVbYV<}CufUd z@<5wo0w88tOc9jdiWv+l6TKgE2b4EcwAd%CeVV&C_=y*@k+yPg=A3b%F3Le9g8 zGvcseIS02v*#arzaAIBJ(jn-sxNOiVas9CZHB%E;0Ok6)V$jFqhJrpBHv&|L)SR7* z84KkWDtGV7Cw{nxULpIsxH9jKeQ-8D+j~@fTX=Sd#R6NS7);mVQGW&H?DzNu&{Ky5 zJ2>)u5_*7!C3u52!!mIepMY9G`c_PDu$Ly_B#%l6gYw;EuTJO#!_!)0no!*Rb(7VLyzA5#2u+JKLw zTkiIS6-|$D7VMeyRBu5$U(it?*oyQDUqOeBV3RyCW>q?FDAx?!V!jzTPazq2ZWx() zz>l-COx$QPwe0Bl%nHaqE%R&eK9b(i7FZ(iyi%L_orMWDC-XbdMo`XHWc~`FCqi(n zt20qM4xUZ$3ovdmTPBxG?&p;uIKI#QP>*Ng(#Tnn8&IzFoGi>N?T=6yy>4tt)_HeJ zAGRs$VgEktW77Sg&^!dWvFlk+LfM>i6LfG6rWlihyJSKRHa0m2J2x_TKm4j#lOqB+ zt0S!rECTPtRDPWFY0~ASt4P<7u0yr3&|KV;S-Gcs_GMMM!`%C_IiMW}Ok?h}fKl~} zNM9s64_- zldd6soAh6#dr7|~{e{$c8#d!c>P;F>Y9<{*T5h3_S)@;st|Hw?`Z4K#(&MC8Ksj^F z!$k?nJ19CXR55wDKyqo)@~RLInKMiVZ<5T&TK-PxRt@O``4)sGf@ery zBz=>#jdU03VbUK+FO#wXI|DGO5w36E1NJ~3f6xv~@PPebF@bhi;s)%5=95U%NOK14 zw16p}U?Ay`0pCI2#|*%e&jX}O2f&_J%}gqA3LI5G74-J{dkb(I))nl5_-3%c>6Y{Z z(k}{j!trvpU_W?8p%Ef`7h=vF(mM*bI=Qh23f%+Y{J$;$FNpF!VAQ}YC|3sIf`;8kFGWDrjHp+R^Y|1jt{Sk9CFGUzOnMe$Womts6O_!j@#%Z-_ejqs~) z8kGy6Ea0459U%1QqPU0Ur4ko7xx89Z>m%5@l5fEIOvn$Q@0FZ~Gghm(0l(JF5!XO1 zVmF*Cz9=~Z-s!$SgW|C)*x?c%H?;f;7FoVjf|0+KxC9AiGZ@P*gRvD4DjzQC8RWr3 zhlGK~T82bH5T3EHay*s$fgUc&2OT^FI{}HnJ9>x_w2Um1hoGf~EFG!Qd$?q))8Ey) zHKr6Y%dYQ9O~3|PitsEbNAT|<*x#Rr;C%QG9S5PU{um=i?BDivG=Ja7m*~$V^R)C+ z!2xdDS<7I&acweQ4YsoFY&B7X@kX#2XoK>JkXE*XZBjlL-6n;<60;=ORUBd$hER33 z1S)*Z9EVDZ2`O+p%mO+{|0;z?xuk~tZgYgyDPyYck_yItA(PyWvM{)hhEA}4dSNPm z+~t{&o9rw*Ku>`i*cZg(Mj+vQ0!*wmZb?c8PfoN1v6Q z4O#7Wm6dmpp4yj372XUv?sA>wkHC;7W(?iucAbq-)H8Id;TN_~QF!R1F2ArbBV}Y_ z=qa~fSvyfPbnqXLtk>aCD?BvH9fctc#?zr@pc0}cn<%@`( zW#8%_r17+grQv6s?RoAvOx9=|7yg2sJue|@GENR3?e4%wC|_OpT|nj1#}0wnxx%i!F(K11KXfq zG;@E;)`<7qqq*U3In2)^T3H-VQS@EJUZ8xU26irDt9u+jpy(=4BA+=P>oqei@>Qo~ zzMQCm1x9XlPvMUEixupK2%t2+WTK2riae`j@U=uuKGpi;={zd%l}MvUKCh_2kS62$ zNGG6bq6YS%{&_lo&Z3)I**I>Pf+3B@S4?eU9CuaJW-9l%i~A5Y8Mm0M>@FUpXphMZ zl%?ov(+9>fp0DVX>5M4jrHZaW3wQG|ibPbKxSLlfa+wfiW#xRjLcb_8&_+e!QLSt| zzo4iOR2ja%Ch{Of6ZGOt?mw{#QdjUL$~YUEt>haN zHGr>@?^AS1SlJ|gNYP{9o5aselg(No^*#KGq7~4kd*B{U`d-y{K|`b3pu%JxtBhNs z_OdBFMbVz9Ix&S;5H+)}qvm={<%@|L*r}-BZL0V&MHiwPSv8Nn7gIN~-=p-5EO=Vs zsE^Fz1Nc+=^I6>Ar6szR)$&u-7<0n@pZfMJp2m0Tzi08cd91!Zn@3rW#7y;kj8C40 zAr0(u4E%1ycPiqsi#-?dqWh&UAl72@1V5%IDfU&*r}&}=(AUgzWA}Pm`I6Z(a$xL_ zp3m@eiblu&;;Hj(52CM;O^WT~^&CGy)WqtXW7E8r@pE(0*~FUkDLK&Xr@{CFcZH`3 zXnaw(=J2SAAH?qQYT?_+*vvkU{nqOxo?^j}X7)Y!Ugk@Po@G~JuX(NJ8|%^cEUN?G ztK8TiiN$$&ui=XodB23b@wg`AJA5Wl1G^B%!FNj04WiNoSiOPq_@}(z;bVxJ*@uzOd2i&imCrwZ zpLmyNHOa{6_?0&A@e)Ou@oT)_=Of^m3TF98_s``{mPxVj%PB86biU?=7#aJHTAlSbpS2^l@N^FxZ(CiDY3rRbA{0X=u{3yLl$3<6?LQZi#eVk`TY z8x{3UY!e@IA4R3$+sT87o;8*ymiFAq!<4VOAaMj>io%Bytq_`}=#fM-P>G^uNVAKN zP_z-6*u^V|8rb*xoc^$?Hxe6r?&glo*r!J3+NY1#ZXTd0qz`9%c$T8XJ{!FD@S>+> zB<|(U_!vdGeU|pz%NHuT6C(HV6u2PbLfi{kKIdZ;)%Ga@GA)rlV*sqn7krGu#y;zN ze!;Vzkbk8 zRkS*(m3_sth+yX?UGMo7&sX$O(oLWeMSGJBK40+>vK~9+lGG2JyA|F@(y!dc>-Ylw zzC3l3`JNk=QiqNI)Su7ek6WrzrW#K2P0vZAC1o!=$u}!nmeS~RlD8{*GiA9r$xkWz z2xjagzoBS<%A*h&uuNw8E~OQGDT?sIev)S?!ds7%JYUg;f|MrXN&dP*mWmbED)J=S zrYMN$kfQ6M7`fzm*v)DNI9tCX=i6)S91G>>SfqNjnkN4 zNagG_H>{F$8b)-Q?^blh3>8oFU4&;6E!i9zD4XTKc*PxbT(km-%ExX)x?7yjoGX zxlLT*uPaJ6!<{@oqzKpZDsNYWw|!UnqE}_}`DQEonJ-Z^);!z{xKH5>b1S>X4=I`l zO_ z4!6Y`drMM+o?HYs0dMNlis0DY1uuaZwVmswZTY{qUocdcAeMaDb69@^@?(pQ(U&DUEi-6!eE zjQzeo+6E#kTa|Il*I(QHIr^Su|H^pPsh75Ie+Sw4_14-IeO&;~U~SQt()o3UjbDh? zqUad-!Ze?+r0*E`!nIgMt1_bfBDJgz(%&D*2gLl8G1D(uJ9k)C_$kB3E=9Z1Npt;D zwXkoLPmdYI2aGgi&h+cAP5)LJ4VgZ6w`p~qG}kXr+tf)5{03-&}qe#u{(aaOtV6B{}k?l&K;X6bN`vHAO z8@z^UiJf%ZuT(Q1lfD;pc)!5kWnCuoAFeGTW0Ubi{U60}lY@7;Beb>3Xw|>P$UT{7 zwUOHNlURKRbJXoh_<+DGnXRl`yDp7JmW6afk)uAPgb(Mw`UfSjwPN+FC44+psMA)R zr7TpTPFt`5G0+|@@ed4XG9Ci@Oq;IgIM7~gwW4nV*EsLfjww0` z^tl!U4}`GZRfycLjZ^do&==ZLMUMR(0}f~h6!o+KeyO>__YYVx9O$4{q9_^YD{Y~o ze4s&YvUCC1UXM=OBES&r+J;wE)X@bM=ilOT~BI7M(Pyv&;3<9r7cl( zFEoEzTdn8?q63nAs@Vpw(;9vvfu?5;Yh{q)V3+Y{c%ZS zJ%ARGN22T-H2^nv6cSLoMQp7NBr!FStf(VT#7(A;l`XB=!QO5H+xA zc@v$lXwwzpGF{acb}y*oaxl?{I7 z+C$`bQly=e7|}^qql>8Mq-92Tv7nP$jb36Y(NUfOo$(dBErciR9|~?|e&UFtV!Jls zC(g-=MpyR_jQ-*ZQKK=>?u_t<=d9Qn`0XENCP26nZDVP^6P*J@9nlGnj~N5SBBCZ1 z6H@BdODrea!Ei=>DhOb<)v*P;sG?P6vdG>G1Uo zV@LUd!ifMWU+)ujyFv#mp)@t zVQyfWSVh!ee6p|rXsz-+TR1q-EH*0Ni-p61wjo*IFkTJLbg^4G*MT!#98wkE17C({ zSH7*_%Mj<3Z+GEWPMPA0@_ki!M_?vAd8a`be<&Oum?exv4aW0@_W*e+-}S;7f!QK} z$kJf6D@rnC3zKqs7ky%zBNA0bQ<1C45n0NY0lt1BU-<@tub(JYzA;5Lfw^Lg@=Y!} z=aefdln)oJzgVnjb`esGjI_`W?k_e=WRDfWH~iuXQ8QasG&``rFu>RDc&oFls39;< z)G2zU=$XI*aY)g-MJob}#0GdX4Ec1B-^V*xP;@-*!CvFU5uzQ&83P~n87D3%!ry_%2?Kmt1x*<7*W7W!M-l#-J5IzZ z3QDyg<|=F)XayP}$sX?l$B7E%!)Nm2M4h51DRQx*mj<429Vb>P+C;vMlI#x*tn(fx zb}Jt~L4a;6-^qb>7I0or&g%m$FsAE7IQpePMeq$5KHQjKlg-LRsUjSGnHWPPM_(q& z72)X1M71IueVLf82uEKg>J{NH`Ia)VP$7=KOe~i~qc0O{l@CW>CN?X=(U*w>ig5I0 z;*=sBeVMo+iAG;0JbTNfz|oh907>>RdhaqTjBam%h=cZ)=Yco`cnS`^`h zYl83zmZ9qheco$=FcHaXc!j8wKI6#Z6Rs8FkRt3_g@_HIdd7+5Td1g(=!hcdngv47 z5jGmJZxzBb6e~8cxy7!cQf%lXc*rkCgh}7S;JZic?j(4gFY?2sZ%Ogc-c!Ut;v-4`arA8H7>|d=QX*OLQPHA&VMF1aEpg-)-!bKjC7(WH0uN|2jpv&T zcK#vozB~)j&sOrnge(AfF^EhJepqhx?^0=(7AosoCi30`AEioCmr>P~pn|O?dw0tw zvMl$-l;2b235qP07Jb(w9_3UMik0Vq8rTB;k4gMK%h7P`<0(*h&f2LO`why1p_j85 z>S*`Yuzdr(rG{RqfAu~?J^Hg9-(18N)i^BwP0)WG(=!q~bV~#Op{`tk#z?p;|GNs0 z24WvSfn^eu&OrUOfj84IUe5B4zchwxU|{>eZo{V0+#HM)f66b{sk4g?(15IVP`@^r z2l|aQVGA2z)ii2Hz#DUzwZBPkzmJdc{VobU?Vy7F0BT^zKyBCw{lzIf(DG4qM|IA= zq_Wf_RGtGDdX34L?q#Mvt{}q+*wgh9ph{eh(2x9P^Kx`7nCg9Cj4aOlO8)@XS;qDoB!QV${D&_&ohVdG_c7)kv=g!5z za^7m%3!xpBuIBM=C7e3h(e8<4y6zU2ILzPyitm-8cK5zdoxm6x_B2Sk2uwEcx-Evv zoq~s*#$4mka*%e7)D*HjPN_S01SBc~yMdLEcMNF;b)t#NxIh|P8?Wb1;USijiJ0|g z(q4VAEa#$oSz7Rj*3`airbrnh`zZBX5@zs9MxD^98k2`h_XU?zvF=U^T1P5()Ji(y zx|gL_cH-kyOudIx^u@9ZX&mUSoqIG82UuW{LzBDsb9kdigZGxPUe_VgvD3R-E>onI zj*(uZ&9r}I9=W};GcX(WSEvIU`*N!#&yj*;g*^SfdwEYw4Vd7adDsh@IyJr^Gl9Zp zragk=)Y#i(k*CirI*FocY(HiAZ!B`Yy0XE1S!lv!qV5CfUS3Iqk|&lfd&gwUVRqR& zhAhubI4vEKvK5wzmX7IyV@#g2q^TqHe@`k`S*jd&86@pk@uk$jGE%uuP&Ig?7#qgp zt>aMIx3WzrM1ThbFx>06kr*vG>Tb1r)wS{Zkp-sWIRxU^8> zt_qxPi!^w_6}>XWbUGYm8SVILD|+RTE{|w=Q!1~xa^Q0)^O`{zDerve*uft@YHZCQ zy=)ebciLWzuJ1{+^yg;r1Y;KbfuRN_ecvo@%6qW{1MooL3~!7$lNLE7c?%|0+U?*i zSB+kW70eCF2Ik$Cc|ZTON1Nk({%?aN#=X%Yo?UjE6co>XbDIk)-2VmIgVe))8os@Bm3?j`XEhnw#F&1#N5NsxGCq2qD!Ok?Q zMjEOO2TLxM%Sr1=TSzyPwv#e}wS>6S-6c4P%DJTFr1hjNq?Q){zxk9DTcI>w3T!#>5rts0b?wo^pQuJ@0bTB zgA?jXCv?|)qPCE3CT%AT_Cb5QA8M{YYB^~;DGMMkDGS7M5NR%HJ1Of$b_;#vk~V~( zX(efWD3)7D8{)`Lx`lLnJX#t^SCVcaJxaKwJpL9HF1L;cAEqyTNXderH@Fc20 z+I}aN**Mf7(p=Kb6VcL6$|}f9noC+vy1AklV=5`bB#I%;B`qhdCv73!JSh|Re>(xY zhboZfl9rR!leUmfy@He}UFXC0^nw;0*i9#J|b>MAKewfOS zlRizloOBiG8q#$+ZAnjXXKq;$?Bd4Qnqc??Qsx!B)s?Y=kbA*0G~`<+#)gHUeMu;4 z3dNYi(4H686+enBcZKbNx);gbD*$6`!cp78G3STj74D1;jKo^QB2Pp4o5&Oo_zz1g z(P-)&{SrWUG**a<#zbba=aQw6%0r`Hftb-$E+_kGM~tte@>H_lM=^8B;$e@?9E0yvuzZ?gu8@itFR+Uki$8oAV}e23;=4wi0qOW$P7b6YanOOg{T;24pd z3VK&^Cg^l>|FyqU`t{e7|W6MfG^`GvlhLEq?$N#E^z4a!^kVp2Kba+&t_#qNGX z_OqmyN#*j{rZH!@&z57ADD@jU zXXwUY+_rBG!O6e1+}2{{CZq53h9K5U4CJBkX#8Oz+?8;_&Lxu+)$49&$S2k7gLdDq}>$|eIZC)?ccf7!tr~N2K z7=>Y@(H`D6a4~#ibc2841|R!8!$SK)!@KZiPdGf8TBq5NU2aA2>#TDEq z%seT1Li(hX#JGxz@e|@w(#(D1(#NNmzoUpfnQM9uh#m27-P#ob-0YAWxoy1%lULAq6b z^jgTR4AP5@c2-1?X6i+!ok%)5`qk;{Fi5xTY^PJAa#ht1?ba3zM|ogKT~z?2S&p&O zp@!UjYW4Bo^YC7^)m1YpAOU^$ubnevBCDM_zGh~B3T@l)J@*hEHI)-9r`%uJeNFUj zKk#z%tqwN4YT~rYnFD6y0>T2wOvC{yyKia#^>w~W@>2qCg{66EU z$HJ{EBJR%H`Pn_W1N}c+|IVlv#=DL_^m+RiK3~)<@0aB_#eD444eLKQZF=rXSl<-i z)J+Lb4S&+Sf7v5nEZkmMbl(G?z8(JCfSgrZZ0A%&osaXp)c*h!V0v}6sA#V3bpQ~447mtk5c n-`Ey7T(i?e3jF6Lkt4Mzn`CBYsruNF+Un*+LmMBZ{lWhS6bvKn diff --git a/Example3/bin/Debug_Ubuntu/websocket-sharp.dll.mdb b/Example3/bin/Debug_Ubuntu/websocket-sharp.dll.mdb index 2a1a234f591f40e536669c1fe8e104ee311b1e6d..770474010568ecc83ff86420495feebd950e2ea1 100644 GIT binary patch delta 2511 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 ULmn0okm+Oukmx2E8BtRG9{@$k{Qv*} diff --git a/Example3/bin/Release/Example3.exe b/Example3/bin/Release/Example3.exe index 931a8c08c09208309aceb0d8aac6ca8c3130d373..063e3ad777eaf6b0e7ce77455b7e42aa607750ed 100755 GIT binary patch delta 1316 zcmZXUe`s4(6vw~k-t;AT$=W7nUF=p#jl;Caes(Jnx~>*B(QTqh-R8iW)wkNN^sPyz z_-kpjY%N1(KO9Cec~!@2%rIg07Al! z0;VbK`#A&*yP88n0!Gl6^l^{ZmsreJy*GA<0DFm>KOhqx?x=T4o);;(p7Z!V;55f* z8Rw~dwyU=@$BQxJ2VUTH@wOBa0btn8AM3Gqa_zioGMdR$ZyL3tQmT>>DRdwN6Impg zM=%BhU$JB08_lb@$$6YyK1o~2K#tt%drTAO=nFFOi{>IR#!jn9q8w@Qk}xnP9AVHZjiT`vd9k2YDx4Y3E^;t1Mh zgao$DD_d5R#F2S5B&h+8DR-vdP2UuOus)$eI1gl`&y+RRF z1({|U)$$@PNq1plUVSN>$cOa2`c7^nKi<%4?h+;j{?%#nK*DpFHiN%fd@N|`DDR%>U&Ys%D_P-X%DX($}>d1ZJ_IH_vFonhd*e>(Nkxwkfr-v0eme9NV4 z&hhXrQst3#3(ktU$8&jBZI7&$Crgv+-AETj)U8OIt~)ggn@O%mg=(*=t4Lx6mhm@k RC7-LX)=^d62$}!@ delta 1288 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 F{{i?id;b6c diff --git a/Example3/bin/Release_Ubuntu/Example3.exe b/Example3/bin/Release_Ubuntu/Example3.exe index bdfdb184b22b92f99bdd7561ed6597623c5eecb3..fb0ba9596dd5476b053ccefc057f5cfcec8cf8d5 100755 GIT binary patch delta 1316 zcmZXUeP~-{6vm(PzUfVRo2Jb*>teS`VjZSM_Tf59l-kweCb}uw)NM|zS-q>xO7Gfa zieF2MrE3{tvv=B!I*II$R;0LbM;)Rv%3u{?DE=XeSP&de1s(Xo(6yfXwiCq!e&;;T zIq$jmo_q{63^a_5$c5jdg~Nj)C=2l$RGd0!N)6Jj6jX211)6jF#AVu2h6Vrv2n#0) zn5J-UDlJ7(qCi;XLIe8!G}FElUX56)}J;{&vV3}nfxzQ#219(_V4e$ZSgCfR8fNraFRPYVN+!WAYi zYX4j5O}-)nJ_FT0kByp-=5=s1M>J1re&qX_oBm>Y&*bOr0HoiQsF4ez!dFL506+?mGrVxBvH7MFDXBj;DuJEcwbc3O)z z+Rfap*{QitGfQdqU(or>l%W2|cj!SnD9cpC<0tl=UDel4i& zW{tS3sCvvgrOdX{9rm6!r*og3Q>=7{_Z_gaIoy}a?cdg& z&Dp(n|MeDh*}0DYiuAMX{XObnaE<#x@D5sey_j;g+Bw+I*uA-y{;sTRgbL&yuMncj z7lXCQLsG^N@Zq!#NMb$K@_*b0 Pj!87QswzV+MHlIBlcffI delta 1288 zcmZXTe`s4(6vw~k-j|m)X|p7Y?X$L$taWS0?0$4*4Q|eCbCo%itu0$stl7+JXKB_X zQ{3FrXt!>3L*t7U!9k$aDaclN6^n{=Qr#ad{v!@VVgE=$G7x3{Avor_w?PD7;B&v< zbIv>Wy>nkiHjiw6^PC*pSe+lwi3*vIth6K4M+G}aYpBBhh_2I&Gc10k-EOP~Ab@~K zT7ain0;b1|R&Z3B&G&L>tqd0kNY*J0?2*a)Sjl9)DmS=%Eu5n9JVkf0X*>>rtEFzcJkV%%!s%n?4lXUK7{~07(kSH z1_hY-iX$fGHE-Y-)_zj#pj~8gYn6SC>A@7uk_R_5OH|;<1`&l1G0`JT6hu*Y@P$zE zMX5UfB>#{m3_~%Z`AAkTy_zY_i<%!A-x?;CnChKw^Vk5=KR-{TBwYWxAiEe0xH;lS zt#&3qL;&^jcV?6Pli4QkFyE5xM3|5rbStbnp0%=;ZggAQcd$dcxFEbrCG*%TLnLsp z?4FTzBypka(sB*CP%OJK*-CCqYj@UCJu5M*UBJ2|N7>D3m&25tWLMRwcF5u5tn6lM zX*&-`svDcj?sNGNRieA>=H;V2>{qp0-olH~|5Wl(^R}H*@qp$brod6HPiuYVf4X`( zRHpq|MI?KYzl9JitmA=AVh{5ww+!G@baQ4A2U*|6v#7`YbOcRUN5`=b2WSMn806`x zno-Sj%nV)R`coW_<2>b=Z_@-v-lI$W)h*B@Ucqm48N>LSe2BpNgt*E}t(ZXzn#3dz zNsTjyjQE;MN5yrV$GG@TH~O9r=@aoI-o+wU#_@x=$(28gC9O-Wm+bc|w z^J&e)nlEam`S03_lUlz{FHj8QG)8gFqUM~YmsU}XHen}{I00is%^A27T;Q3it7Lb2 z8pNEmk9b<_yl0JSaK+xus^7JVCDYA z@bN@CgZ@OOubgncsoF}R&O`>OaxzuE!?ApMaxSkhM2!r?=Z2tQw83SB5o}k8+SdYc zuMW2dqlTO8^}&AsgKev8zuaQRoNHq(*_Un}b^_K3vVEb4tEa{C(<@Hfy`eU_Ag|bO tga*iO{}pPaTTa70+evOkwcS_K;_bjDwDPHL!A57I<|ySi7!Fx?=^qEC`kw#* diff --git a/Example3/bin/Release_Ubuntu/websocket-sharp.dll b/Example3/bin/Release_Ubuntu/websocket-sharp.dll index 32c7c8b9d68e917b3ea514f1457b83a2c85dc6af..25a32dc90ba7648533d27fceb568be953c4f8120 100755 GIT binary patch delta 20802 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 Je57`R{~vU#<`)0} delta 20473 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 D|FwNJ diff --git a/README.md b/README.md index 4e1a3cbd..bb3bd0ba 100644 --- a/README.md +++ b/README.md @@ -202,11 +202,11 @@ Creating a instance of the `WebSocketServer` class if you want the multi WebSock ```cs var wssv = new WebSocketServer(4649); -wssv.AddService("/Echo"); -wssv.AddService("/Chat"); +wssv.AddWebSocketService("/Echo"); +wssv.AddWebSocketService("/Chat"); ``` -You can add to your `WebSocketServer` any WebSocket service and a matching path to that service by using the `WebSocketServer.AddService` method. +You can add to your `WebSocketServer` any WebSocket service and a matching path to that service by using the `WebSocketServer.AddWebSocketService` method. The type of `T` inherits `WebSocketService` class, so you can use a class that was created in **Step 2**. @@ -256,11 +256,11 @@ wssv.Stop(); I modified the `System.Net.HttpListener`, `System.Net.HttpListenerContext` and some other classes of [Mono] to create the HTTP server that can upgrade the connection to the WebSocket connection when receives a WebSocket request. -You can add to your `HttpServer` any WebSocket service and a matching path to that service by using the `HttpServer.AddService` method. +You can add to your `HttpServer` any WebSocket service and a matching path to that service by using the `HttpServer.AddWebSocketService` method. ```cs var httpsv = new HttpServer(4649); -httpsv.AddService("/"); +httpsv.AddWebSocketService("/"); ``` For more information, please refer to the [Example3]. diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index 6415453a..baf2f63f 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -278,13 +278,13 @@ namespace WebSocketSharp { } ///

- /// Gets the description of the HTTP status code using the specified code. + /// Gets the description of the HTTP status code using the specified . /// /// - /// A that contains the description of the . + /// A that contains the description of the HTTP status code. /// /// - /// One of values that contains the HTTP status code. + /// One of values that contains an HTTP status code. /// public static string GetDescription(this HttpStatusCode code) { @@ -339,13 +339,13 @@ namespace WebSocketSharp { } /// - /// Gets the description of the HTTP status code using the specified code. + /// Gets the description of the HTTP status code using the specified . /// /// - /// A that contains the description of the . + /// A that contains the description of the HTTP status code. /// /// - /// An that contains the HTTP status code. + /// An that contains an HTTP status code. /// public static string GetStatusDescription(this int code) { diff --git a/websocket-sharp/Net/HttpStatusCode.cs b/websocket-sharp/Net/HttpStatusCode.cs index 81f03051..6394aee5 100644 --- a/websocket-sharp/Net/HttpStatusCode.cs +++ b/websocket-sharp/Net/HttpStatusCode.cs @@ -33,53 +33,331 @@ namespace WebSocketSharp.Net { + /// + /// Contains the values of the HTTP status codes. + /// + /// + /// The HttpStatusCode enumeration contains the values of the HTTP status codes defined in + /// RFC 2616 for HTTP 1.1. + /// public enum HttpStatusCode { + /// + /// Equivalent to status code 100. Indicates that the client should continue with its request. + /// Continue = 100, + + /// + /// Equivalent to status code 101. Indicates that the server is switching the HTTP version or protocol on the connection. + /// SwitchingProtocols = 101, + + /// + /// Equivalent to status code 200. Indicates that the client's request has succeeded. + /// OK = 200, + + /// + /// Equivalent to status code 201. Indicates that the client's request has been fulfilled + /// and resulted in a new resource being created. + /// Created = 201, + + /// + /// Equivalent to status code 202. Indicates that the client's request has been accepted for processing, + /// but the processing has not been completed. + /// Accepted = 202, + + /// + /// Equivalent to status code 203. Indicates that the returned metainformation is from a local or a third-party copy instead of the origin server. + /// NonAuthoritativeInformation = 203, + + /// + /// Equivalent to status code 204. Indicates that the server has fulfilled the client's request + /// but does not need to return an entity-body. + /// NoContent = 204, + + /// + /// Equivalent to status code 205. Indicates that the server has fulfilled the client's request + /// and the user agent should reset the document view which caused the request to be sent. + /// ResetContent = 205, + + /// + /// Equivalent to status code 206. Indicates that the server has fulfilled the partial GET request for the resource. + /// PartialContent = 206, + + /// + /// + /// Equivalent to status code 300. Indicates that the requested resource corresponds to + /// any one of multiple representations. + /// + /// + /// MultipleChoices is a synonym for Ambiguous. + /// + /// MultipleChoices = 300, + + /// + /// + /// Equivalent to status code 300. Indicates that the requested resource corresponds to + /// any one of multiple representations. + /// + /// + /// Ambiguous is a synonym for MultipleChoices. + /// + /// Ambiguous = 300, + + /// + /// + /// Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI + /// and any future references to this resource should use one of the returned URIs. + /// + /// + /// MovedPermanently is a synonym for Moved. + /// + /// MovedPermanently = 301, + + /// + /// + /// Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI + /// and any future references to this resource should use one of the returned URIs. + /// + /// + /// Moved is a synonym for MovedPermanently. + /// + /// Moved = 301, + + /// + /// + /// Equivalent to status code 302. Indicates that the requested resource is located temporarily + /// under a different URI. + /// + /// + /// Found is a synonym for Redirect. + /// + /// Found = 302, + + /// + /// + /// Equivalent to status code 302. Indicates that the requested resource is located temporarily + /// under a different URI. + /// + /// + /// Redirect is a synonym for Found. + /// + /// Redirect = 302, + + /// + /// + /// Equivalent to status code 303. Indicates that the response to the request can be found + /// under a different URI and should be retrieved using a GET method on that resource. + /// + /// + /// SeeOther is a synonym for RedirectMethod. + /// + /// SeeOther = 303, + + /// + /// + /// Equivalent to status code 303. Indicates that the response to the request can be found + /// under a different URI and should be retrieved using a GET method on that resource. + /// + /// + /// RedirectMethod is a synonym for SeeOther. + /// + /// RedirectMethod = 303, + + /// + /// Equivalent to status code 304. Indicates that the client has performed a conditional GET request + /// and access is allowed, but the document has not been modified. + /// NotModified = 304, + + /// + /// Equivalent to status code 305. Indicates that the requested resource must be accessed + /// through the proxy given by the Location field. + /// UseProxy = 305, + + /// + /// Equivalent to status code 306. This code was used in a previous version of the specification, + /// is no longer used, and is reserved for future use. + /// Unused = 306, + + /// + /// + /// Equivalent to status code 307. Indicates that the requested resource is located temporarily + /// under a different URI. + /// + /// + /// TemporaryRedirect is a synonym for RedirectKeepVerb. + /// + /// TemporaryRedirect = 307, + + /// + /// + /// Equivalent to status code 307. Indicates that the requested resource is located temporarily + /// under a different URI. + /// + /// + /// RedirectKeepVerb is a synonym for TemporaryRedirect. + /// + /// RedirectKeepVerb = 307, + + /// + /// Equivalent to status code 400. Indicates that the client's request could not be understood + /// by the server due to malformed syntax. + /// BadRequest = 400, + + /// + /// Equivalent to status code 401. Indicates that the client's request requires user authentication. + /// Unauthorized = 401, + + /// + /// Equivalent to status code 402. This code is reserved for future use. + /// PaymentRequired = 402, + + /// + /// Equivalent to status code 403. Indicates that the server understood the client's request + /// but is refusing to fulfill it. + /// Forbidden = 403, + + /// + /// Equivalent to status code 404. Indicates that the server has not found anything + /// matching the request URI. + /// NotFound = 404, + + /// + /// Equivalent to status code 405. Indicates that the method specified in the request line + /// is not allowed for the resource identified by the request URI. + /// MethodNotAllowed = 405, + + /// + /// Equivalent to status code 406. Indicates that the server does not have the appropriate resource + /// to respond to the accept headers in the client's request. + /// NotAcceptable = 406, + + /// + /// Equivalent to status code 407. Indicates that the client must first authenticate itself with the proxy. + /// ProxyAuthenticationRequired = 407, + + /// + /// Equivalent to status code 408. Indicates that the client did not produce a request + /// within the time that the server was prepared to wait. + /// RequestTimeout = 408, + + /// + /// Equivalent to status code 409. Indicates that the client's request could not be completed + /// due to a conflict on the server. + /// Conflict = 409, + + /// + /// Equivalent to status code 410. Indicates that the requested resource is no longer available + /// at the server and no forwarding address is known. + /// Gone = 410, + + /// + /// Equivalent to status code 411. Indicates that the server refuses to accept the client's request + /// without a defined Content-Length. + /// LengthRequired = 411, + + /// + /// Equivalent to status code 412. Indicates that the precondition given in one or more of the request header fields + /// evaluated to false when it was tested on the server. + /// PreconditionFailed = 412, + + /// + /// Equivalent to status code 413. Indicates that the client's request entity is larger + /// than the server is willing or able to process. + /// RequestEntityTooLarge = 413, + + /// + /// Equivalent to status code 414. Indicates that the request URI is longer + /// than the server is willing to interpret. + /// RequestUriTooLong = 414, + + /// + /// Equivalent to status code 415. Indicates that the entity of the client's request is in a format + /// not supported by the requested resource for the requested method. + /// UnsupportedMediaType = 415, + + /// + /// Equivalent to status code 416. Indicates that none of the range specifier values in a Range request header field + /// overlap the current extent of the selected resource. + /// RequestedRangeNotSatisfiable = 416, + + /// + /// Equivalent to status code 417. Indicates that the expectation given in an Expect request header field + /// could not be met by the server. + /// ExpectationFailed = 417, + + /// + /// Equivalent to status code 500. Indicates that the server encountered an unexpected condition + /// which prevented it from fulfilling the client's request. + /// InternalServerError = 500, + + /// + /// Equivalent to status code 501. Indicates that the server does not support the functionality + /// required to fulfill the client's request. + /// NotImplemented = 501, + + /// + /// Equivalent to status code 502. Indicates that a gateway or proxy server received an invalid response + /// from the upstream server. + /// BadGateway = 502, + + /// + /// Equivalent to status code 503. Indicates that the server is currently unable to handle the client's request + /// due to a temporary overloading or maintenance of the server. + /// ServiceUnavailable = 503, + + /// + /// Equivalent to status code 504. Indicates that a gateway or proxy server did not receive a timely response + /// from the upstream server or some other auxiliary server. + /// GatewayTimeout = 504, + + /// + /// Equivalent to status code 505. Indicates that the server does not support the HTTP version + /// used in the client's request. + /// HttpVersionNotSupported = 505, } } diff --git a/websocket-sharp/Net/HttpVersion.cs b/websocket-sharp/Net/HttpVersion.cs index 570009ad..40b927f8 100644 --- a/websocket-sharp/Net/HttpVersion.cs +++ b/websocket-sharp/Net/HttpVersion.cs @@ -1,6 +1,6 @@ // // HttpVersion.cs -// Copied from System.Net.HttpVersion +// Copied from System.Net.HttpVersion.cs // // Author: // Lawrence Pit (loz@cable.a2000.nl) @@ -29,14 +29,24 @@ using System; namespace WebSocketSharp.Net { - // - // + /// + /// Provides the HTTP version numbers. + /// public class HttpVersion { + /// + /// Provides a instance for HTTP 1.0. + /// public static readonly Version Version10 = new Version (1, 0); + + /// + /// Provides a instance for HTTP 1.1. + /// public static readonly Version Version11 = new Version (1, 1); - - // pretty useless.. + + /// + /// Initializes a new instance of the class. + /// public HttpVersion () {} } } diff --git a/websocket-sharp/Server/HttpServer.cs b/websocket-sharp/Server/HttpServer.cs index 21fc16cb..e69371f4 100644 --- a/websocket-sharp/Server/HttpServer.cs +++ b/websocket-sharp/Server/HttpServer.cs @@ -36,14 +36,35 @@ using WebSocketSharp.Net; namespace WebSocketSharp.Server { + /// + /// Provides the functions of a simple HTTP server that allows to accept the WebSocket connection requests. + /// + /// + /// + /// The HttpServer class provides the multi WebSocket service. + /// + /// + /// + /// The HttpServer class needs the application configuration file to configure the server root path. + /// + /// + /// <?xml version="1.0" encoding="utf-8"?> + /// <configuration> + /// <appSettings> + /// <add key="RootPath" value="./Public" /> + /// </appSettings> + /// </configuration> + /// + /// + /// public class HttpServer { #region Fields - private Thread _acceptRequestThread; private bool _isWindows; private HttpListener _listener; private int _port; + private Thread _receiveRequestThread; private string _rootPath; private ServiceHostManager _svcHosts; @@ -51,11 +72,22 @@ namespace WebSocketSharp.Server { #region Constructors + /// + /// Initializes a new instance of the class that listens for incoming requests + /// on port 80. + /// public HttpServer() : this(80) { } + /// + /// Initializes a new instance of the class that listens for incoming requests + /// on the specified . + /// + /// + /// An that contains a port number. + /// public HttpServer(int port) { _port = port; @@ -66,16 +98,35 @@ namespace WebSocketSharp.Server { #region Properties + /// + /// Gets the port on which to listen for incoming requests. + /// + /// + /// An that contains a port number. + /// public int Port { get { return _port; } } + /// + /// Gets the collection of paths associated with the every WebSocket services that the server provides. + /// + /// + /// An IEnumerable<string> that contains the collection of paths. + /// public IEnumerable ServicePaths { get { return _svcHosts.Paths; } } + /// + /// Gets or sets a value indicating whether the server cleans up the inactive WebSocket service instances periodically. + /// + /// + /// true if the server cleans up the inactive WebSocket service instances every 60 seconds; + /// otherwise, false. The default value is true. + /// public bool Sweeped { get { return _svcHosts.Sweeped; @@ -90,43 +141,60 @@ namespace WebSocketSharp.Server { #region Events - public event EventHandler OnConnect; - public event EventHandler OnDelete; - public event EventHandler OnError; - public event EventHandler OnGet; - public event EventHandler OnHead; - public event EventHandler OnOptions; - public event EventHandler OnPatch; - public event EventHandler OnPost; - public event EventHandler OnPut; - public event EventHandler OnTrace; + /// + /// Occurs when the server gets an error. + /// + public event EventHandler OnError; + + /// + /// Occurs when the server receives an HTTP CONNECT request. + /// + public event EventHandler OnResponseToConnect; + + /// + /// Occurs when the server receives an HTTP DELETE request. + /// + public event EventHandler OnResponseToDelete; + + /// + /// Occurs when the server receives an HTTP GET request. + /// + public event EventHandler OnResponseToGet; + + /// + /// Occurs when the server receives an HTTP HEAD request. + /// + public event EventHandler OnResponseToHead; + + /// + /// Occurs when the server receives an HTTP OPTIONS request. + /// + public event EventHandler OnResponseToOptions; + + /// + /// Occurs when the server receives an HTTP PATCH request. + /// + public event EventHandler OnResponseToPatch; + + /// + /// Occurs when the server receives an HTTP POST request. + /// + public event EventHandler OnResponseToPost; + + /// + /// Occurs when the server receives an HTTP PUT request. + /// + public event EventHandler OnResponseToPut; + + /// + /// Occurs when the server receives an HTTP TRACE request. + /// + public event EventHandler OnResponseToTrace; #endregion #region Private Methods - private void acceptRequest() - { - while (true) - { - try - { - var context = _listener.GetContext(); - respondAsync(context); - } - catch (HttpListenerException) - { - // HttpListener has been closed. - break; - } - catch (Exception ex) - { - onError(ex.Message); - break; - } - } - } - private void configureFromConfigFile() { _rootPath = ConfigurationManager.AppSettings["RootPath"]; @@ -170,63 +238,85 @@ namespace WebSocketSharp.Server { OnError.Emit(this, new ErrorEventArgs(message)); } + private void receiveRequest() + { + while (true) + { + try + { + var context = _listener.GetContext(); + respondAsync(context); + } + catch (HttpListenerException) + { + // HttpListener has been closed. + break; + } + catch (Exception ex) + { + onError(ex.Message); + break; + } + } + } + private void respond(HttpListenerContext context) { var req = context.Request; var res = context.Response; var eventArgs = new ResponseEventArgs(context); - if (req.HttpMethod == "GET" && OnGet != null) + if (req.HttpMethod == "GET" && !OnResponseToGet.IsNull()) { - OnGet(this, eventArgs); + OnResponseToGet(this, eventArgs); return; } - if (req.HttpMethod == "HEAD" && OnHead != null) + if (req.HttpMethod == "HEAD" && !OnResponseToHead.IsNull()) { - OnHead(this, eventArgs); + OnResponseToHead(this, eventArgs); return; } - if (req.HttpMethod == "POST" && OnPost != null) + if (req.HttpMethod == "POST" && !OnResponseToPost.IsNull()) { - OnPost(this, eventArgs); + OnResponseToPost(this, eventArgs); return; } - if (req.HttpMethod == "PUT" && OnPut != null) + if (req.HttpMethod == "PUT" && !OnResponseToPut.IsNull()) { - OnPut(this, eventArgs); + OnResponseToPut(this, eventArgs); return; } - if (req.HttpMethod == "DELETE" && OnDelete != null) + if (req.HttpMethod == "DELETE" && !OnResponseToDelete.IsNull()) { - OnDelete(this, eventArgs); + OnResponseToDelete(this, eventArgs); return; } - if (req.HttpMethod == "OPTIONS" && OnOptions != null) + if (req.HttpMethod == "OPTIONS" && !OnResponseToOptions.IsNull()) { - OnOptions(this, eventArgs); + OnResponseToOptions(this, eventArgs); return; } - if (req.HttpMethod == "TRACE" && OnTrace != null) + if (req.HttpMethod == "TRACE" && !OnResponseToTrace.IsNull()) { - OnTrace(this, eventArgs); + OnResponseToTrace(this, eventArgs); return; } - if (req.HttpMethod == "CONNECT" && OnConnect != null) + if (req.HttpMethod == "CONNECT" && !OnResponseToConnect.IsNull()) { - OnConnect(this, eventArgs); + OnResponseToConnect(this, eventArgs); return; } - if (req.HttpMethod == "PATCH" && OnPatch != null) + if (req.HttpMethod == "PATCH" && !OnResponseToPatch.IsNull()) { - OnPatch(this, eventArgs); + OnResponseToPatch(this, eventArgs); return; } @@ -235,7 +325,7 @@ namespace WebSocketSharp.Server { private void respondAsync(HttpListenerContext context) { - WaitCallback respondCb = (state) => + WaitCallback callback = (state) => { var req = context.Request; var res = context.Response; @@ -260,14 +350,14 @@ namespace WebSocketSharp.Server { } }; - ThreadPool.QueueUserWorkItem(respondCb); + ThreadPool.QueueUserWorkItem(callback); } - private void startAcceptRequestThread() + private void startReceiveRequestThread() { - _acceptRequestThread = new Thread(new ThreadStart(acceptRequest)); - _acceptRequestThread.IsBackground = true; - _acceptRequestThread.Start(); + _receiveRequestThread = new Thread(new ThreadStart(receiveRequest)); + _receiveRequestThread.IsBackground = true; + _receiveRequestThread.Start(); } private bool upgradeToWebSocket(HttpListenerContext context) @@ -292,7 +382,16 @@ namespace WebSocketSharp.Server { #region Public Methods - public void AddService(string absPath) + /// + /// Adds the specified type WebSocket service. + /// + /// + /// A that contains an absolute path associated with the WebSocket service. + /// + /// + /// The type of the WebSocket service. The T must inherit the class. + /// + public void AddWebSocketService(string absPath) where T : WebSocketService, new() { string msg; @@ -310,28 +409,42 @@ namespace WebSocketSharp.Server { _svcHosts.Add(absPath, svcHost); } + /// + /// Gets the contents of the specified file. + /// + /// + /// An array of that contains the contents of the file. + /// + /// + /// A that contains a virtual path to the file to get. + /// public byte[] GetFile(string path) { var filePath = _rootPath + path; if (_isWindows) filePath = filePath.Replace("/", "\\"); - if (File.Exists(filePath)) - return File.ReadAllBytes(filePath); - - return null; + return File.Exists(filePath) + ? File.ReadAllBytes(filePath) + : null; } + /// + /// Starts to receive incoming requests. + /// public void Start() { _listener.Start(); - startAcceptRequestThread(); + startReceiveRequestThread(); } + /// + /// Stops receiving incoming requests. + /// public void Stop() { _listener.Close(); - _acceptRequestThread.Join(5 * 1000); + _receiveRequestThread.Join(5 * 1000); _svcHosts.Stop(); } diff --git a/websocket-sharp/Server/ResponseEventArgs.cs b/websocket-sharp/Server/ResponseEventArgs.cs index 457b3fe6..dac81456 100644 --- a/websocket-sharp/Server/ResponseEventArgs.cs +++ b/websocket-sharp/Server/ResponseEventArgs.cs @@ -4,7 +4,7 @@ * * The MIT License * - * Copyright (c) 2012 sta.blockhead + * Copyright (c) 2012-2013 sta.blockhead * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -31,15 +31,44 @@ using WebSocketSharp.Net; namespace WebSocketSharp.Server { + /// + /// Contains the event data associated with the response events of the class. + /// + /// + /// A response event occurs when a instance receives an HTTP request. + /// If you want to get the HTTP request objects, you should access the property. + /// If you want to get the HTTP response objects to send, you should access the property. + /// public class ResponseEventArgs : EventArgs { - public HttpListenerRequest Request { get; private set; } - public HttpListenerResponse Response { get; private set; } + #region Constructor - public ResponseEventArgs(HttpListenerContext context) + internal ResponseEventArgs(HttpListenerContext context) { Request = context.Request; Response = context.Response; } + + #endregion + + #region Properties + + /// + /// Gets the HTTP request objects sent from a client. + /// + /// + /// A that contains the HTTP request objects. + /// + public HttpListenerRequest Request { get; private set; } + + /// + /// Gets the HTTP response objects to send to the client in response to the client's request. + /// + /// + /// A that contains the HTTP response objects. + /// + public HttpListenerResponse Response { get; private set; } + + #endregion } } diff --git a/websocket-sharp/Server/WebSocketServer.cs b/websocket-sharp/Server/WebSocketServer.cs index 407910f7..f4fbd60d 100644 --- a/websocket-sharp/Server/WebSocketServer.cs +++ b/websocket-sharp/Server/WebSocketServer.cs @@ -165,6 +165,7 @@ namespace WebSocketSharp.Server { /// /// /// true if the server cleans up the inactive clients every 60 seconds; otherwise, false. + /// The default value is true. /// public bool Sweeped { get { @@ -218,7 +219,7 @@ namespace WebSocketSharp.Server { #region Public Methods /// - /// Adds a WebSocket service. + /// Adds the specified type WebSocket service. /// /// /// A that contains an absolute path associated with the WebSocket service. @@ -226,7 +227,7 @@ namespace WebSocketSharp.Server { /// /// The type of the WebSocket service. The T must inherit the class. /// - public void AddService(string absPath) + public void AddWebSocketService(string absPath) where T : WebSocketService, new() { string msg; diff --git a/websocket-sharp/Server/WebSocketServerBase.cs b/websocket-sharp/Server/WebSocketServerBase.cs index 1f8febab..c1a654a3 100644 --- a/websocket-sharp/Server/WebSocketServerBase.cs +++ b/websocket-sharp/Server/WebSocketServerBase.cs @@ -229,7 +229,7 @@ namespace WebSocketSharp.Server { #region Event /// - /// Occurs when this server gets an error. + /// Occurs when the server gets an error. /// public event EventHandler OnError; diff --git a/websocket-sharp/Server/WebSocketServiceHost.cs b/websocket-sharp/Server/WebSocketServiceHost.cs index f5837367..411d527e 100644 --- a/websocket-sharp/Server/WebSocketServiceHost.cs +++ b/websocket-sharp/Server/WebSocketServiceHost.cs @@ -187,6 +187,7 @@ namespace WebSocketSharp.Server { /// /// /// true if the server cleans up the inactive clients every 60 seconds; otherwise, false. + /// The default value is true. /// public bool Sweeped { get { diff --git a/websocket-sharp/bin/Debug/websocket-sharp.dll b/websocket-sharp/bin/Debug/websocket-sharp.dll index 4f518365f1de8a7f89553c78770c00b71270c3c7..83633d5db71f44c1cc2bad2ce07d7cf10871bf8e 100755 GIT binary patch delta 20527 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 C*uG@| delta 2536 zcmah}c|4R|8-C82F)>3OgRH&GP%5GN+DXieeOI9`i7YQ!vb23tmQo36I@(A``65G% zvX)A;sJCQq(P}HLlG4}fJ%hLR&+qyDuIIjIuIswb{oLm{&%Si}zI3{lVqVNo?HPUM z^QrM`L972y#=c_~wRQ{X8xvLmq1JJ9z3Wp%Y1B^ZjIE(1mpkqq7T$8=KAaWps%AFG zJFVQve)XTEtt_UaOo)TP*VC#7k*3 zrl{a#unr9cm^3Cv)!7_+c00drL5MN_4%VU#oIm>cqhV%eet5cgY`%FE`@#^UB6d{U zi(~CGcW=)zh0}V@5Z&AMBlVZJPXy_;X6` zmco)lb%pVi3pP`AR3OdIS(N^5&AP)@*&XZad4_o>@F;yX8c9F$JMEd4b#dF!k1WmX zmDpEm9nv+=GLDJZW>coc<7yfXy~RyZo(SZ5?ya01ZFb&uTFrl}*O%iJ3|G`Pe5h2K z6Kj{{mVB|g%jqgU%LqX=H6O%tyy|U)&LK7LH>?=N+)4guy56+2*F|9tIj{>w!eeD&;BiuhwSR z;#wJR#Gb7+sJw=0ThbIBRDCK}jOQ}FP%q-3Sy2gA#d&#m)c;-g6=yToBmI-i#pkk% z%_naf;H(#`R3*qYt#0&g76@

}2bQlg33Dt`xY%@PBWDzU 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 F{{fefo?id} delta 20235 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 diff --git a/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll.mdb b/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll.mdb index 2a1a234f591f40e536669c1fe8e104ee311b1e6d..770474010568ecc83ff86420495feebd950e2ea1 100644 GIT binary patch delta 2511 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 ULmn0okm+Oukmx2E8BtRG9{@$k{Qv*} diff --git a/websocket-sharp/bin/Release/websocket-sharp.dll b/websocket-sharp/bin/Release/websocket-sharp.dll index 82be0547f75fbee9e1fc541d17cedf0432967366..b0dae019043b75ea77f82881ce2e2967157bfbf1 100755 GIT binary patch delta 20802 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 F{{i?id;b6c diff --git a/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.dll b/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.dll index 32c7c8b9d68e917b3ea514f1457b83a2c85dc6af..25a32dc90ba7648533d27fceb568be953c4f8120 100755 GIT binary patch delta 20802 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 Je57`R{~vU#<`)0} delta 20473 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 D|FwNJ diff --git a/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.xml b/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.xml index 23d49497..0630c4d6 100644 --- a/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.xml +++ b/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.xml @@ -139,13 +139,13 @@

- Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified . - A that contains the description of the . + A that contains the description of the HTTP status code. - One of values that contains the HTTP status code. + One of values that contains an HTTP status code. @@ -178,13 +178,13 @@ - Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified . - A that contains the description of the . + A that contains the description of the HTTP status code. - An that contains the HTTP status code. + An that contains an HTTP status code. @@ -1096,6 +1096,7 @@ true if the server cleans up the inactive clients every 60 seconds; otherwise, false. + The default value is true. @@ -1106,9 +1107,9 @@ A that contains the WebSocket connection request objects. - + - Adds a WebSocket service. + Adds the specified type WebSocket service. A that contains an absolute path associated with the WebSocket service. @@ -1391,6 +1392,524 @@ The string to encode. The TextWriter output stream containing the encoded string. + + + Provides the functions of a simple HTTP server that allows to accept the WebSocket connection requests. + + + + The HttpServer class provides the multi WebSocket service. + + + + The HttpServer class needs the application configuration file to configure the server root path. + + + <?xml version="1.0" encoding="utf-8"?> + <configuration> + <appSettings> + <add key="RootPath" value="./Public" /> + </appSettings> + </configuration> + + + + + + + Initializes a new instance of the class that listens for incoming requests + on port 80. + + + + + Initializes a new instance of the class that listens for incoming requests + on the specified . + + + An that contains a port number. + + + + + Occurs when the server gets an error. + + + + + Occurs when the server receives an HTTP CONNECT request. + + + + + Occurs when the server receives an HTTP DELETE request. + + + + + Occurs when the server receives an HTTP GET request. + + + + + Occurs when the server receives an HTTP HEAD request. + + + + + Occurs when the server receives an HTTP OPTIONS request. + + + + + Occurs when the server receives an HTTP PATCH request. + + + + + Occurs when the server receives an HTTP POST request. + + + + + Occurs when the server receives an HTTP PUT request. + + + + + Occurs when the server receives an HTTP TRACE request. + + + + + Gets the port on which to listen for incoming requests. + + + An that contains a port number. + + + + + Gets the collection of paths associated with the every WebSocket services that the server provides. + + + An IEnumerable<string> that contains the collection of paths. + + + + + Gets or sets a value indicating whether the server cleans up the inactive WebSocket service instances periodically. + + + true if the server cleans up the inactive WebSocket service instances every 60 seconds; + otherwise, false. The default value is true. + + + + + Adds the specified type WebSocket service. + + + A that contains an absolute path associated with the WebSocket service. + + + The type of the WebSocket service. The T must inherit the class. + + + + + Gets the contents of the specified file. + + + An array of that contains the contents of the file. + + + A that contains a virtual path to the file to get. + + + + + Starts to receive incoming requests. + + + + + Stops receiving incoming requests. + + + + + Contains the event data associated with the response events of the class. + + + A response event occurs when a instance receives an HTTP request. + If you want to get the HTTP request objects, you should access the property. + If you want to get the HTTP response objects to send, you should access the property. + + + + + Gets the HTTP request objects sent from a client. + + + A that contains the HTTP request objects. + + + + + Gets the HTTP response objects to send to the client in response to the client's request. + + + A that contains the HTTP response objects. + + + + + Provides the HTTP version numbers. + + + + + Initializes a new instance of the class. + + + + + Provides a instance for HTTP 1.0. + + + + + Provides a instance for HTTP 1.1. + + + + + Contains the values of the HTTP status codes. + + + The HttpStatusCode enumeration contains the values of the HTTP status codes defined in + RFC 2616 for HTTP 1.1. + + + + + Equivalent to status code 100. Indicates that the client should continue with its request. + + + + + Equivalent to status code 101. Indicates that the server is switching the HTTP version or protocol on the connection. + + + + + Equivalent to status code 200. Indicates that the client's request has succeeded. + + + + + Equivalent to status code 201. Indicates that the client's request has been fulfilled + and resulted in a new resource being created. + + + + + Equivalent to status code 202. Indicates that the client's request has been accepted for processing, + but the processing has not been completed. + + + + + Equivalent to status code 203. Indicates that the returned metainformation is from a local or a third-party copy instead of the origin server. + + + + + Equivalent to status code 204. Indicates that the server has fulfilled the client's request + but does not need to return an entity-body. + + + + + Equivalent to status code 205. Indicates that the server has fulfilled the client's request + and the user agent should reset the document view which caused the request to be sent. + + + + + Equivalent to status code 206. Indicates that the server has fulfilled the partial GET request for the resource. + + + + + + Equivalent to status code 300. Indicates that the requested resource corresponds to + any one of multiple representations. + + + MultipleChoices is a synonym for Ambiguous. + + + + + + + Equivalent to status code 300. Indicates that the requested resource corresponds to + any one of multiple representations. + + + Ambiguous is a synonym for MultipleChoices. + + + + + + + Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI + and any future references to this resource should use one of the returned URIs. + + + MovedPermanently is a synonym for Moved. + + + + + + + Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI + and any future references to this resource should use one of the returned URIs. + + + Moved is a synonym for MovedPermanently. + + + + + + + Equivalent to status code 302. Indicates that the requested resource is located temporarily + under a different URI. + + + Found is a synonym for Redirect. + + + + + + + Equivalent to status code 302. Indicates that the requested resource is located temporarily + under a different URI. + + + Redirect is a synonym for Found. + + + + + + + Equivalent to status code 303. Indicates that the response to the request can be found + under a different URI and should be retrieved using a GET method on that resource. + + + SeeOther is a synonym for RedirectMethod. + + + + + + + Equivalent to status code 303. Indicates that the response to the request can be found + under a different URI and should be retrieved using a GET method on that resource. + + + RedirectMethod is a synonym for SeeOther. + + + + + + Equivalent to status code 304. Indicates that the client has performed a conditional GET request + and access is allowed, but the document has not been modified. + + + + + Equivalent to status code 305. Indicates that the requested resource must be accessed + through the proxy given by the Location field. + + + + + Equivalent to status code 306. This code was used in a previous version of the specification, + is no longer used, and is reserved for future use. + + + + + + Equivalent to status code 307. Indicates that the requested resource is located temporarily + under a different URI. + + + TemporaryRedirect is a synonym for RedirectKeepVerb. + + + + + + + Equivalent to status code 307. Indicates that the requested resource is located temporarily + under a different URI. + + + RedirectKeepVerb is a synonym for TemporaryRedirect. + + + + + + Equivalent to status code 400. Indicates that the client's request could not be understood + by the server due to malformed syntax. + + + + + Equivalent to status code 401. Indicates that the client's request requires user authentication. + + + + + Equivalent to status code 402. This code is reserved for future use. + + + + + Equivalent to status code 403. Indicates that the server understood the client's request + but is refusing to fulfill it. + + + + + Equivalent to status code 404. Indicates that the server has not found anything + matching the request URI. + + + + + Equivalent to status code 405. Indicates that the method specified in the request line + is not allowed for the resource identified by the request URI. + + + + + Equivalent to status code 406. Indicates that the server does not have the appropriate resource + to respond to the accept headers in the client's request. + + + + + Equivalent to status code 407. Indicates that the client must first authenticate itself with the proxy. + + + + + Equivalent to status code 408. Indicates that the client did not produce a request + within the time that the server was prepared to wait. + + + + + Equivalent to status code 409. Indicates that the client's request could not be completed + due to a conflict on the server. + + + + + Equivalent to status code 410. Indicates that the requested resource is no longer available + at the server and no forwarding address is known. + + + + + Equivalent to status code 411. Indicates that the server refuses to accept the client's request + without a defined Content-Length. + + + + + Equivalent to status code 412. Indicates that the precondition given in one or more of the request header fields + evaluated to false when it was tested on the server. + + + + + Equivalent to status code 413. Indicates that the client's request entity is larger + than the server is willing or able to process. + + + + + Equivalent to status code 414. Indicates that the request URI is longer + than the server is willing to interpret. + + + + + Equivalent to status code 415. Indicates that the entity of the client's request is in a format + not supported by the requested resource for the requested method. + + + + + Equivalent to status code 416. Indicates that none of the range specifier values in a Range request header field + overlap the current extent of the selected resource. + + + + + Equivalent to status code 417. Indicates that the expectation given in an Expect request header field + could not be met by the server. + + + + + Equivalent to status code 500. Indicates that the server encountered an unexpected condition + which prevented it from fulfilling the client's request. + + + + + Equivalent to status code 501. Indicates that the server does not support the functionality + required to fulfill the client's request. + + + + + Equivalent to status code 502. Indicates that a gateway or proxy server received an invalid response + from the upstream server. + + + + + Equivalent to status code 503. Indicates that the server is currently unable to handle the client's request + due to a temporary overloading or maintenance of the server. + + + + + Equivalent to status code 504. Indicates that a gateway or proxy server did not receive a timely response + from the upstream server or some other auxiliary server. + + + + + Equivalent to status code 505. Indicates that the server does not support the HTTP version + used in the client's request. + + Provides the basic functions of the server that receives the WebSocket connection requests. @@ -1453,7 +1972,7 @@ - Occurs when this server gets an error. + Occurs when the server gets an error. @@ -1670,6 +2189,7 @@ true if the server cleans up the inactive clients every 60 seconds; otherwise, false. + The default value is true. diff --git a/websocket-sharp/doc/html/WebSocketSharp.Net/HttpStatusCode.html b/websocket-sharp/doc/html/WebSocketSharp.Net/HttpStatusCode.html index b6584315..751a6994 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Net/HttpStatusCode.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Net/HttpStatusCode.html @@ -207,8 +207,8 @@

HttpStatusCode Enum

- Documentation for this section has not yet been entered. -

+ Contains the values of the HTTP status codes. +

@@ -265,7 +265,9 @@ Version - . Documentation for this section has not yet been entered. + . + Provides a Version instance for HTTP 1.0. + @@ -279,7 +281,9 @@ Version - . Documentation for this section has not yet been entered. + . + Provides a Version instance for HTTP 1.1. + @@ -322,8 +326,8 @@

HttpVersion Constructor

Syntax

public enum HttpStatusCode
@@ -216,8 +216,9 @@

Remarks

- Documentation for this section has not yet been entered. -
+ The HttpStatusCode enumeration contains the values of the HTTP status codes defined in + RFC 2616 for HTTP 1.1. +

Members

@@ -230,7 +231,8 @@ Accepted @@ -238,7 +240,13 @@ Ambiguous @@ -246,7 +254,8 @@ BadGateway @@ -254,7 +263,8 @@ BadRequest @@ -262,7 +272,8 @@ Conflict @@ -270,7 +281,7 @@ Continue @@ -278,7 +289,8 @@ Created @@ -286,7 +298,8 @@ ExpectationFailed @@ -294,7 +307,8 @@ Forbidden @@ -302,7 +316,13 @@ Found @@ -310,7 +330,8 @@ GatewayTimeout @@ -318,7 +339,8 @@ Gone @@ -326,7 +348,8 @@ HttpVersionNotSupported @@ -334,7 +357,8 @@ InternalServerError @@ -342,7 +366,8 @@ LengthRequired @@ -350,7 +375,8 @@ MethodNotAllowed @@ -358,7 +384,13 @@ Moved @@ -366,7 +398,13 @@ MovedPermanently @@ -374,7 +412,13 @@ MultipleChoices @@ -382,7 +426,8 @@ NoContent @@ -390,7 +435,7 @@ NonAuthoritativeInformation @@ -398,7 +443,8 @@ NotAcceptable @@ -406,7 +452,8 @@ NotFound @@ -414,7 +461,8 @@ NotImplemented @@ -422,7 +470,8 @@ NotModified @@ -430,7 +479,7 @@ OK @@ -438,7 +487,7 @@ PartialContent @@ -446,7 +495,7 @@ PaymentRequired @@ -454,7 +503,8 @@ PreconditionFailed @@ -462,7 +512,7 @@ ProxyAuthenticationRequired @@ -470,7 +520,13 @@ Redirect @@ -478,7 +534,13 @@ RedirectKeepVerb @@ -486,7 +548,13 @@ RedirectMethod @@ -494,7 +562,8 @@ RequestedRangeNotSatisfiable @@ -502,7 +571,8 @@ RequestEntityTooLarge @@ -510,7 +580,8 @@ RequestTimeout @@ -518,7 +589,8 @@ RequestUriTooLong @@ -526,7 +598,8 @@ ResetContent @@ -534,7 +607,13 @@ SeeOther @@ -542,7 +621,8 @@ ServiceUnavailable @@ -550,7 +630,7 @@ SwitchingProtocols @@ -558,7 +638,13 @@ TemporaryRedirect @@ -566,7 +652,7 @@ Unauthorized @@ -574,7 +660,8 @@ UnsupportedMediaType @@ -582,7 +669,8 @@ Unused @@ -590,7 +678,8 @@ UseProxy
- Documentation for this section has not yet been entered. + Equivalent to status code 202. Indicates that the client's request has been accepted for processing, + but the processing has not been completed.
- Documentation for this section has not yet been entered. +

+ Equivalent to status code 300. Indicates that the requested resource corresponds to + any one of multiple representations. +

+

+ Ambiguous is a synonym for MultipleChoices. +

- Documentation for this section has not yet been entered. + Equivalent to status code 502. Indicates that a gateway or proxy server received an invalid response + from the upstream server.
- Documentation for this section has not yet been entered. + Equivalent to status code 400. Indicates that the client's request could not be understood + by the server due to malformed syntax.
- Documentation for this section has not yet been entered. + Equivalent to status code 409. Indicates that the client's request could not be completed + due to a conflict on the server.
- Documentation for this section has not yet been entered. + Equivalent to status code 100. Indicates that the client should continue with its request.
- Documentation for this section has not yet been entered. + Equivalent to status code 201. Indicates that the client's request has been fulfilled + and resulted in a new resource being created.
- Documentation for this section has not yet been entered. + Equivalent to status code 417. Indicates that the expectation given in an Expect request header field + could not be met by the server.
- Documentation for this section has not yet been entered. + Equivalent to status code 403. Indicates that the server understood the client's request + but is refusing to fulfill it.
- Documentation for this section has not yet been entered. +

+ Equivalent to status code 302. Indicates that the requested resource is located temporarily + under a different URI. +

+

+ Found is a synonym for Redirect. +

- Documentation for this section has not yet been entered. + Equivalent to status code 504. Indicates that a gateway or proxy server did not receive a timely response + from the upstream server or some other auxiliary server.
- Documentation for this section has not yet been entered. + Equivalent to status code 410. Indicates that the requested resource is no longer available + at the server and no forwarding address is known.
- Documentation for this section has not yet been entered. + Equivalent to status code 505. Indicates that the server does not support the HTTP version + used in the client's request.
- Documentation for this section has not yet been entered. + Equivalent to status code 500. Indicates that the server encountered an unexpected condition + which prevented it from fulfilling the client's request.
- Documentation for this section has not yet been entered. + Equivalent to status code 411. Indicates that the server refuses to accept the client's request + without a defined Content-Length.
- Documentation for this section has not yet been entered. + Equivalent to status code 405. Indicates that the method specified in the request line + is not allowed for the resource identified by the request URI.
- Documentation for this section has not yet been entered. +

+ Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI + and any future references to this resource should use one of the returned URIs. +

+

+ Moved is a synonym for MovedPermanently. +

- Documentation for this section has not yet been entered. +

+ Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI + and any future references to this resource should use one of the returned URIs. +

+

+ MovedPermanently is a synonym for Moved. +

- Documentation for this section has not yet been entered. +

+ Equivalent to status code 300. Indicates that the requested resource corresponds to + any one of multiple representations. +

+

+ MultipleChoices is a synonym for Ambiguous. +

- Documentation for this section has not yet been entered. + Equivalent to status code 204. Indicates that the server has fulfilled the client's request + but does not need to return an entity-body.
- Documentation for this section has not yet been entered. + Equivalent to status code 203. Indicates that the returned metainformation is from a local or a third-party copy instead of the origin server.
- Documentation for this section has not yet been entered. + Equivalent to status code 406. Indicates that the server does not have the appropriate resource + to respond to the accept headers in the client's request.
- Documentation for this section has not yet been entered. + Equivalent to status code 404. Indicates that the server has not found anything + matching the request URI.
- Documentation for this section has not yet been entered. + Equivalent to status code 501. Indicates that the server does not support the functionality + required to fulfill the client's request.
- Documentation for this section has not yet been entered. + Equivalent to status code 304. Indicates that the client has performed a conditional GET request + and access is allowed, but the document has not been modified.
- Documentation for this section has not yet been entered. + Equivalent to status code 200. Indicates that the client's request has succeeded.
- Documentation for this section has not yet been entered. + Equivalent to status code 206. Indicates that the server has fulfilled the partial GET request for the resource.
- Documentation for this section has not yet been entered. + Equivalent to status code 402. This code is reserved for future use.
- Documentation for this section has not yet been entered. + Equivalent to status code 412. Indicates that the precondition given in one or more of the request header fields + evaluated to false when it was tested on the server.
- Documentation for this section has not yet been entered. + Equivalent to status code 407. Indicates that the client must first authenticate itself with the proxy.
- Documentation for this section has not yet been entered. +

+ Equivalent to status code 302. Indicates that the requested resource is located temporarily + under a different URI. +

+

+ Redirect is a synonym for Found. +

- Documentation for this section has not yet been entered. +

+ Equivalent to status code 307. Indicates that the requested resource is located temporarily + under a different URI. +

+

+ RedirectKeepVerb is a synonym for TemporaryRedirect. +

- Documentation for this section has not yet been entered. +

+ Equivalent to status code 303. Indicates that the response to the request can be found + under a different URI and should be retrieved using a GET method on that resource. +

+

+ RedirectMethod is a synonym for SeeOther. +

- Documentation for this section has not yet been entered. + Equivalent to status code 416. Indicates that none of the range specifier values in a Range request header field + overlap the current extent of the selected resource.
- Documentation for this section has not yet been entered. + Equivalent to status code 413. Indicates that the client's request entity is larger + than the server is willing or able to process.
- Documentation for this section has not yet been entered. + Equivalent to status code 408. Indicates that the client did not produce a request + within the time that the server was prepared to wait.
- Documentation for this section has not yet been entered. + Equivalent to status code 414. Indicates that the request URI is longer + than the server is willing to interpret.
- Documentation for this section has not yet been entered. + Equivalent to status code 205. Indicates that the server has fulfilled the client's request + and the user agent should reset the document view which caused the request to be sent.
- Documentation for this section has not yet been entered. +

+ Equivalent to status code 303. Indicates that the response to the request can be found + under a different URI and should be retrieved using a GET method on that resource. +

+

+ SeeOther is a synonym for RedirectMethod. +

- Documentation for this section has not yet been entered. + Equivalent to status code 503. Indicates that the server is currently unable to handle the client's request + due to a temporary overloading or maintenance of the server.
- Documentation for this section has not yet been entered. + Equivalent to status code 101. Indicates that the server is switching the HTTP version or protocol on the connection.
- Documentation for this section has not yet been entered. +

+ Equivalent to status code 307. Indicates that the requested resource is located temporarily + under a different URI. +

+

+ TemporaryRedirect is a synonym for RedirectKeepVerb. +

- Documentation for this section has not yet been entered. + Equivalent to status code 401. Indicates that the client's request requires user authentication.
- Documentation for this section has not yet been entered. + Equivalent to status code 415. Indicates that the entity of the client's request is in a format + not supported by the requested resource for the requested method.
- Documentation for this section has not yet been entered. + Equivalent to status code 306. This code was used in a previous version of the specification, + is no longer used, and is reserved for future use.
- Documentation for this section has not yet been entered. + Equivalent to status code 305. Indicates that the requested resource must be accessed + through the proxy given by the Location field.
diff --git a/websocket-sharp/doc/html/WebSocketSharp.Net/HttpVersion.html b/websocket-sharp/doc/html/WebSocketSharp.Net/HttpVersion.html index 1bc2a1f8..6ee072fe 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Net/HttpVersion.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Net/HttpVersion.html @@ -207,8 +207,8 @@

HttpVersion Class

- Documentation for this section has not yet been entered. -

+ Provides the HTTP version numbers. +

Syntax

public class HttpVersion
@@ -243,8 +243,8 @@
()
- Documentation for this section has not yet been entered. - + Initializes a new instance of the WebSocketSharp.Net.HttpVersion class. +

- Documentation for this section has not yet been entered. -

+ Initializes a new instance of the WebSocketSharp.Net.HttpVersion class. +

Syntax

public HttpVersion ()

Remarks

@@ -338,8 +342,8 @@

Version10 Field

- Documentation for this section has not yet been entered. -

+ Provides a Version instance for HTTP 1.0. +

Syntax

public static readonly Version Version10

Remarks

@@ -354,8 +358,8 @@

Version11 Field

- Documentation for this section has not yet been entered. -

+ Provides a Version instance for HTTP 1.1. +

Syntax

public static readonly Version Version11

Remarks

diff --git a/websocket-sharp/doc/html/WebSocketSharp.Net/index.html b/websocket-sharp/doc/html/WebSocketSharp.Net/index.html index a8de8d25..77a44458 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Net/index.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Net/index.html @@ -295,16 +295,16 @@ HttpStatusCode - Documentation for this section has not yet been entered. - + Contains the values of the HTTP status codes. + HttpVersion - Documentation for this section has not yet been entered. - + Provides the HTTP version numbers. + diff --git a/websocket-sharp/doc/html/WebSocketSharp.Server/HttpServer.html b/websocket-sharp/doc/html/WebSocketSharp.Server/HttpServer.html index 1298496c..9b9816ae 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Server/HttpServer.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Server/HttpServer.html @@ -207,8 +207,8 @@

HttpServer Class

- Documentation for this section has not yet been entered. -

+ Provides the functions of a simple HTTP server that allows to accept the WebSocket connection requests. +

Syntax

public class HttpServer
@@ -216,7 +216,35 @@

Remarks

- Documentation for this section has not yet been entered. +

+ The HttpServer class provides the multi WebSocket service. +

+

+

+ The HttpServer class needs the application configuration file to configure the server root path. +

+ + + + + + + +
+ + xml Example + +
+
+            <?xml version="1.0" encoding="utf-8"?>
+            <configuration>
+            <appSettings>
+            <add key="RootPath" value="./Public" />
+            </appSettings>
+            </configuration>
+            
+
+

Requirements

@@ -243,8 +271,9 @@ ()
- Documentation for this section has not yet been entered. - + Initializes a new instance of the WebSocketSharp.Server.HttpServer class that listens for incoming requests + on port 80. + @@ -258,8 +287,9 @@ (int)
- Documentation for this section has not yet been entered. - + Initializes a new instance of the WebSocketSharp.Server.HttpServer class that listens for incoming requests + on the specified port. +
@@ -278,7 +308,9 @@ int - . Documentation for this section has not yet been entered. + . + Gets the port on which to listen for incoming requests. + [read-only]
@@ -290,7 +322,9 @@ IEnumerable<string> - . Documentation for this section has not yet been entered. + . + Gets the collection of paths associated with the every WebSocket services that the server provides. + @@ -305,7 +339,9 @@ bool - . Documentation for this section has not yet been entered. + . + Gets or sets a value indicating whether the server cleans up the inactive WebSocket service instances periodically. + @@ -321,8 +357,10 @@ - AddService<T> - (string)
Documentation for this section has not yet been entered.
+ AddWebSocketService<T> + (string)
+ Adds the specified type WebSocket service. +
@@ -332,7 +370,9 @@ GetFile - (string) : byte[]
Documentation for this section has not yet been entered.
+ (string) : byte[]
+ Gets the contents of the specified file. +
@@ -342,7 +382,9 @@ Start - ()
Documentation for this section has not yet been entered.
+ ()
+ Starts to receive incoming requests. +
@@ -352,7 +394,9 @@ Stop - ()
Documentation for this section has not yet been entered.
+ ()
+ Stops receiving incoming requests. +
@@ -368,12 +412,12 @@ - OnConnect + OnError - Documentation for this section has not yet been entered. - + Occurs when the server gets an error. + @@ -382,12 +426,12 @@ - OnDelete + OnResponseToConnect - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP CONNECT request. + @@ -396,12 +440,12 @@ - OnError + OnResponseToDelete - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP DELETE request. + @@ -410,12 +454,12 @@ - OnGet + OnResponseToGet - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP GET request. + @@ -424,12 +468,12 @@ - OnHead + OnResponseToHead - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP HEAD request. + @@ -438,12 +482,12 @@ - OnOptions + OnResponseToOptions - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP OPTIONS request. + @@ -452,12 +496,12 @@ - OnPatch + OnResponseToPatch - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP PATCH request. + @@ -466,12 +510,12 @@ - OnPost + OnResponseToPost - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP POST request. + @@ -480,12 +524,12 @@ - OnPut + OnResponseToPut - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP PUT request. + @@ -494,12 +538,12 @@ - OnTrace + OnResponseToTrace - Documentation for this section has not yet been entered. - + Occurs when the server receives an HTTP TRACE request. + @@ -542,8 +586,9 @@

HttpServer Constructor

- Documentation for this section has not yet been entered. -

+ Initializes a new instance of the WebSocketSharp.Server.HttpServer class that listens for incoming requests + on port 80. +

Syntax

public HttpServer ()

Remarks

@@ -558,8 +603,9 @@

HttpServer Constructor

- Documentation for this section has not yet been entered. -

+ Initializes a new instance of the WebSocketSharp.Server.HttpServer class that listens for incoming requests + on the specified port. +

Syntax

public HttpServer (int port)

Parameters

@@ -569,8 +615,8 @@ port
- Documentation for this section has not yet been entered. -
+ An int that contains a port number. +

Remarks

@@ -582,49 +628,49 @@ Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)
-

AddService<T> Generic Method

-
+

AddWebSocketService<T> Generic Method

+

- Documentation for this section has not yet been entered. -

+ Adds the specified type WebSocket service. +

Syntax

-
public void AddService<T> (string absPath)
where T : WebSocketSharp.Server.WebSocketService, new()
+
public void AddWebSocketService<T> (string absPath)
where T : WebSocketSharp.Server.WebSocketService, new()

Type Parameters

-
+
T
- Documentation for this section has not yet been entered. -
+ The type of the WebSocket service. The T must inherit the WebSocketSharp.Server.WebSocketService class. +

Parameters

-
+
absPath
- Documentation for this section has not yet been entered. -
+ A string that contains an absolute path associated with the WebSocket service. +

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

GetFile Method

- Documentation for this section has not yet been entered. -

+ Gets the contents of the specified file. +

Syntax

public byte[] GetFile (string path)

Parameters

@@ -634,14 +680,14 @@ path
- Documentation for this section has not yet been entered. -
+ A string that contains a virtual path to the file to get. +

Returns

- Documentation for this section has not yet been entered. -
+ An array of byte that contains the contents of the file. +

Remarks

Documentation for this section has not yet been entered. @@ -651,177 +697,177 @@ Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnConnect Event

-
+

OnError Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server gets an error. +

Syntax

-
public event EventHandler<ResponseEventArgs> OnConnect
+

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnDelete Event

-
+

OnResponseToConnect Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP CONNECT request. +

Syntax

-
public event EventHandler<ResponseEventArgs> OnDelete
+
public event EventHandler<ResponseEventArgs> OnResponseToConnect

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnError Event

-
+

OnResponseToDelete Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP DELETE request. +

Syntax

- +
public event EventHandler<ResponseEventArgs> OnResponseToDelete

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnGet Event

-
+

OnResponseToGet Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP GET request. +

Syntax

- +
public event EventHandler<ResponseEventArgs> OnResponseToGet

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnHead Event

-
+

OnResponseToHead Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP HEAD request. +

Syntax

-
public event EventHandler<ResponseEventArgs> OnHead
+
public event EventHandler<ResponseEventArgs> OnResponseToHead

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnOptions Event

-
+

OnResponseToOptions Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP OPTIONS request. +

Syntax

-
public event EventHandler<ResponseEventArgs> OnOptions
+
public event EventHandler<ResponseEventArgs> OnResponseToOptions

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnPatch Event

-
+

OnResponseToPatch Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP PATCH request. +

Syntax

-
public event EventHandler<ResponseEventArgs> OnPatch
+
public event EventHandler<ResponseEventArgs> OnResponseToPatch

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnPost Event

-
+

OnResponseToPost Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP POST request. +

Syntax

-
public event EventHandler<ResponseEventArgs> OnPost
+
public event EventHandler<ResponseEventArgs> OnResponseToPost

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnPut Event

-
+

OnResponseToPut Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP PUT request. +

Syntax

- +
public event EventHandler<ResponseEventArgs> OnResponseToPut

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

OnTrace Event

-
+

OnResponseToTrace Event

+

- Documentation for this section has not yet been entered. -

+ Occurs when the server receives an HTTP TRACE request. +

Syntax

-
public event EventHandler<ResponseEventArgs> OnTrace
+
public event EventHandler<ResponseEventArgs> OnResponseToTrace

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

Port Property

- Documentation for this section has not yet been entered. -

+ Gets the port on which to listen for incoming requests. +

Syntax

public int Port { get; }

Value

- Documentation for this section has not yet been entered. -
+ An int that contains a port number. +

Remarks

Documentation for this section has not yet been entered. @@ -834,14 +880,14 @@

ServicePaths Property

- Documentation for this section has not yet been entered. -

+ Gets the collection of paths associated with the every WebSocket services that the server provides. +

Syntax

public IEnumerable<string> ServicePaths { get; }

Value

- Documentation for this section has not yet been entered. -
+ An IEnumerable<string> that contains the collection of paths. +

Remarks

Documentation for this section has not yet been entered. @@ -854,8 +900,8 @@

Start Method

- Documentation for this section has not yet been entered. -

+ Starts to receive incoming requests. +

Syntax

public void Start ()

Remarks

@@ -870,8 +916,8 @@

Stop Method

- Documentation for this section has not yet been entered. -

+ Stops receiving incoming requests. +

Syntax

public void Stop ()

Remarks

@@ -886,14 +932,15 @@

Sweeped Property

- Documentation for this section has not yet been entered. -

+ Gets or sets a value indicating whether the server cleans up the inactive WebSocket service instances periodically. +

Syntax

public bool Sweeped { get; set; }

Value

- Documentation for this section has not yet been entered. -
+ true if the server cleans up the inactive WebSocket service instances every 60 seconds; + otherwise, false. The default value is true. +

Remarks

Documentation for this section has not yet been entered. diff --git a/websocket-sharp/doc/html/WebSocketSharp.Server/ResponseEventArgs.html b/websocket-sharp/doc/html/WebSocketSharp.Server/ResponseEventArgs.html index fb639039..25fc4a5e 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Server/ResponseEventArgs.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Server/ResponseEventArgs.html @@ -207,8 +207,8 @@

ResponseEventArgs Class

- Documentation for this section has not yet been entered. -

+ Contains the event data associated with the response events of the WebSocketSharp.Server.HttpServer class. +

Syntax

public class ResponseEventArgs : EventArgs
@@ -216,8 +216,10 @@

Remarks

- Documentation for this section has not yet been entered. -
+ A response event occurs when a WebSocketSharp.Server.HttpServer instance receives an HTTP request. + If you want to get the HTTP request objects, you should access the ResponseEventArgs.Request property. + If you want to get the HTTP response objects to send, you should access the ResponseEventArgs.Response property. +

Requirements

Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)
@@ -227,28 +229,6 @@ See Also: Inherited members from EventArgs.

-

Public Constructors

-
-
- - - - - - -
-
-
-
- - - Documentation for this section has not yet been entered. -
-
-

Public Properties

@@ -263,7 +243,9 @@ WebSocketSharp.Net.HttpListenerRequest - . Documentation for this section has not yet been entered. + . + Gets the HTTP request objects sent from a client. + [read-only]
@@ -275,7 +257,9 @@ WebSocketSharp.Net.HttpListenerResponse - . Documentation for this section has not yet been entered. + . + Gets the HTTP response objects to send to the client in response to the client's request. +
@@ -315,44 +299,17 @@

Member Details

-

ResponseEventArgs Constructor

-
-

- Documentation for this section has not yet been entered. -

-

Syntax

-
public ResponseEventArgs (WebSocketSharp.Net.HttpListenerContext context)
-

Parameters

-
-
-
- context -
-
- Documentation for this section has not yet been entered. -
-
-
-

Remarks

-
- Documentation for this section has not yet been entered. -
-

Requirements

-
- Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)
-
-

Request Property

- Documentation for this section has not yet been entered. -

+ Gets the HTTP request objects sent from a client. +

Syntax

Value

- Documentation for this section has not yet been entered. -
+ A WebSocketSharp.Net.HttpListenerRequest that contains the HTTP request objects. +

Remarks

Documentation for this section has not yet been entered. @@ -365,14 +322,14 @@

Response Property

- Documentation for this section has not yet been entered. -

+ Gets the HTTP response objects to send to the client in response to the client's request. +

Syntax

Value

- Documentation for this section has not yet been entered. -
+ A WebSocketSharp.Net.HttpListenerResponse that contains the HTTP response objects. +

Remarks

Documentation for this section has not yet been entered. diff --git a/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServer.html b/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServer.html index 32e2604e..339a2746 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServer.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServer.html @@ -458,9 +458,9 @@ - AddService<T> + AddWebSocketService<T> (string)
- Adds a WebSocket service. + Adds the specified type WebSocket service.
@@ -569,7 +569,7 @@ - Occurs when this server gets an error. + Occurs when the server gets an error. (Inherited from WebSocketServerBase.) @@ -817,15 +817,15 @@ Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

-

AddService<T> Generic Method

-
+

AddWebSocketService<T> Generic Method

+

- Adds a WebSocket service. + Adds the specified type WebSocket service.

Syntax

-
public void AddService<T> (string absPath)
where T : WebSocketSharp.Server.WebSocketService, new()
+
public void AddWebSocketService<T> (string absPath)
where T : WebSocketSharp.Server.WebSocketService, new()

Type Parameters

-
+
T @@ -836,7 +836,7 @@

Parameters

-
+
absPath @@ -847,11 +847,11 @@

Remarks

-
+
Documentation for this section has not yet been entered.

Requirements

-
+
Namespace: WebSocketSharp.Server
Assembly: websocket-sharp (in websocket-sharp.dll)

@@ -928,6 +928,7 @@

Value

true if the server cleans up the inactive clients every 60 seconds; otherwise, false. + The default value is true.

Remarks

diff --git a/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServerBase.html b/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServerBase.html index 44b518e2..f2bfcf86 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServerBase.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServerBase.html @@ -444,7 +444,7 @@ - Occurs when this server gets an error. + Occurs when the server gets an error. @@ -770,7 +770,7 @@

OnError Event

- Occurs when this server gets an error. + Occurs when the server gets an error.

Syntax

diff --git a/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServiceHost`1.html b/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServiceHost`1.html index 95ebc3b7..bc12bd36 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServiceHost`1.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Server/WebSocketServiceHost`1.html @@ -372,7 +372,7 @@ System.Net.IPAddress . - Gets the IP address on which to listen for incoming connection attempts. + Gets the local IP address on which to listen for incoming connection attempts. (Inherited from WebSocketServerBase.) @@ -386,7 +386,7 @@ bool . - Gets a value indicating whether this server provides secure connection. + Gets a value indicating whether the server provides secure connection. (Inherited from WebSocketServerBase.) @@ -400,7 +400,7 @@ bool . - Gets a value indicating whether this server is self host. + Gets a value indicating whether the server is self host. (Inherited from WebSocketServerBase.) @@ -597,7 +597,7 @@ - Occurs when this server gets an error. + Occurs when the server gets an error. (Inherited from WebSocketServerBase.) @@ -1021,6 +1021,7 @@

Value

true if the server cleans up the inactive clients every 60 seconds; otherwise, false. + The default value is true.

Remarks

diff --git a/websocket-sharp/doc/html/WebSocketSharp.Server/index.html b/websocket-sharp/doc/html/WebSocketSharp.Server/index.html index ba1d55b3..4cd86c47 100644 --- a/websocket-sharp/doc/html/WebSocketSharp.Server/index.html +++ b/websocket-sharp/doc/html/WebSocketSharp.Server/index.html @@ -207,8 +207,8 @@ HttpServer - Documentation for this section has not yet been entered. - + Provides the functions of a simple HTTP server that allows to accept the WebSocket connection requests. + @@ -223,8 +223,8 @@ ResponseEventArgs - Documentation for this section has not yet been entered. - + Contains the event data associated with the response events of the WebSocketSharp.Server.HttpServer class. + diff --git a/websocket-sharp/doc/html/WebSocketSharp/Ext.html b/websocket-sharp/doc/html/WebSocketSharp/Ext.html index 82ce2f84..0101c943 100644 --- a/websocket-sharp/doc/html/WebSocketSharp/Ext.html +++ b/websocket-sharp/doc/html/WebSocketSharp/Ext.html @@ -328,7 +328,7 @@ GetDescription (this WebSocketSharp.Net.HttpStatusCode) : string
- Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified WebSocketSharp.Net.HttpStatusCode.
@@ -361,7 +361,7 @@ GetStatusDescription (this int) : string
- Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified int.
@@ -1089,7 +1089,7 @@

GetDescription Method

- Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified WebSocketSharp.Net.HttpStatusCode.

Syntax

public static string GetDescription (this WebSocketSharp.Net.HttpStatusCode code)
@@ -1100,13 +1100,13 @@ code
- One of WebSocketSharp.Net.HttpStatusCode values that contains the HTTP status code. + One of WebSocketSharp.Net.HttpStatusCode values that contains an HTTP status code.

Returns

- A string that contains the description of the code. + A string that contains the description of the HTTP status code.

Remarks

@@ -1194,7 +1194,7 @@

GetStatusDescription Method

- Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified int.

Syntax

public static string GetStatusDescription (this int code)
@@ -1205,13 +1205,13 @@ code
- An int that contains the HTTP status code. + An int that contains an HTTP status code.

Returns

- A string that contains the description of the code. + A string that contains the description of the HTTP status code.

Remarks

diff --git a/websocket-sharp/doc/html/index.html b/websocket-sharp/doc/html/index.html index d8bbfda0..795907d4 100644 --- a/websocket-sharp/doc/html/index.html +++ b/websocket-sharp/doc/html/index.html @@ -387,16 +387,16 @@ HttpStatusCode - Documentation for this section has not yet been entered. - + Contains the values of the HTTP status codes. + HttpVersion - Documentation for this section has not yet been entered. - + Provides the HTTP version numbers. + @@ -455,8 +455,8 @@ HttpServer - Documentation for this section has not yet been entered. - + Provides the functions of a simple HTTP server that allows to accept the WebSocket connection requests. + @@ -471,8 +471,8 @@ ResponseEventArgs - Documentation for this section has not yet been entered. - + Contains the event data associated with the response events of the WebSocketSharp.Server.HttpServer class. + diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpStatusCode.xml b/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpStatusCode.xml index b06499ea..8c7ad579 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpStatusCode.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpStatusCode.xml @@ -8,8 +8,13 @@ System.Enum - To be added. - To be added. + + Contains the values of the HTTP status codes. + + + The HttpStatusCode enumeration contains the values of the HTTP status codes defined in + RFC 2616 for HTTP 1.1. + @@ -20,7 +25,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 202. Indicates that the client's request has been accepted for processing, + but the processing has not been completed. + @@ -31,7 +39,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 300. Indicates that the requested resource corresponds to + any one of multiple representations. + + + Ambiguous is a synonym for MultipleChoices. + + @@ -42,7 +58,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 502. Indicates that a gateway or proxy server received an invalid response + from the upstream server. + @@ -53,7 +72,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 400. Indicates that the client's request could not be understood + by the server due to malformed syntax. + @@ -64,7 +86,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 409. Indicates that the client's request could not be completed + due to a conflict on the server. + @@ -75,7 +100,9 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 100. Indicates that the client should continue with its request. + @@ -86,7 +113,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 201. Indicates that the client's request has been fulfilled + and resulted in a new resource being created. + @@ -97,7 +127,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 417. Indicates that the expectation given in an Expect request header field + could not be met by the server. + @@ -108,7 +141,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 403. Indicates that the server understood the client's request + but is refusing to fulfill it. + @@ -119,7 +155,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 302. Indicates that the requested resource is located temporarily + under a different URI. + + + Found is a synonym for Redirect. + + @@ -130,7 +174,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 504. Indicates that a gateway or proxy server did not receive a timely response + from the upstream server or some other auxiliary server. + @@ -141,7 +188,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 410. Indicates that the requested resource is no longer available + at the server and no forwarding address is known. + @@ -152,7 +202,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 505. Indicates that the server does not support the HTTP version + used in the client's request. + @@ -163,7 +216,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 500. Indicates that the server encountered an unexpected condition + which prevented it from fulfilling the client's request. + @@ -174,7 +230,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 411. Indicates that the server refuses to accept the client's request + without a defined Content-Length. + @@ -185,7 +244,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 405. Indicates that the method specified in the request line + is not allowed for the resource identified by the request URI. + @@ -196,7 +258,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI + and any future references to this resource should use one of the returned URIs. + + + Moved is a synonym for MovedPermanently. + + @@ -207,7 +277,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 301. Indicates that the requested resource has been assigned a new permanent URI + and any future references to this resource should use one of the returned URIs. + + + MovedPermanently is a synonym for Moved. + + @@ -218,7 +296,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 300. Indicates that the requested resource corresponds to + any one of multiple representations. + + + MultipleChoices is a synonym for Ambiguous. + + @@ -229,7 +315,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 204. Indicates that the server has fulfilled the client's request + but does not need to return an entity-body. + @@ -240,7 +329,9 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 203. Indicates that the returned metainformation is from a local or a third-party copy instead of the origin server. + @@ -251,7 +342,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 406. Indicates that the server does not have the appropriate resource + to respond to the accept headers in the client's request. + @@ -262,7 +356,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 404. Indicates that the server has not found anything + matching the request URI. + @@ -273,7 +370,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 501. Indicates that the server does not support the functionality + required to fulfill the client's request. + @@ -284,7 +384,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 304. Indicates that the client has performed a conditional GET request + and access is allowed, but the document has not been modified. + @@ -295,7 +398,9 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 200. Indicates that the client's request has succeeded. + @@ -306,7 +411,9 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 206. Indicates that the server has fulfilled the partial GET request for the resource. + @@ -317,7 +424,9 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 402. This code is reserved for future use. + @@ -328,7 +437,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 412. Indicates that the precondition given in one or more of the request header fields + evaluated to false when it was tested on the server. + @@ -339,7 +451,9 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 407. Indicates that the client must first authenticate itself with the proxy. + @@ -350,7 +464,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 302. Indicates that the requested resource is located temporarily + under a different URI. + + + Redirect is a synonym for Found. + + @@ -361,7 +483,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 307. Indicates that the requested resource is located temporarily + under a different URI. + + + RedirectKeepVerb is a synonym for TemporaryRedirect. + + @@ -372,7 +502,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 303. Indicates that the response to the request can be found + under a different URI and should be retrieved using a GET method on that resource. + + + RedirectMethod is a synonym for SeeOther. + + @@ -383,7 +521,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 416. Indicates that none of the range specifier values in a Range request header field + overlap the current extent of the selected resource. + @@ -394,7 +535,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 413. Indicates that the client's request entity is larger + than the server is willing or able to process. + @@ -405,7 +549,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 408. Indicates that the client did not produce a request + within the time that the server was prepared to wait. + @@ -416,7 +563,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 414. Indicates that the request URI is longer + than the server is willing to interpret. + @@ -427,7 +577,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 205. Indicates that the server has fulfilled the client's request + and the user agent should reset the document view which caused the request to be sent. + @@ -438,7 +591,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 303. Indicates that the response to the request can be found + under a different URI and should be retrieved using a GET method on that resource. + + + SeeOther is a synonym for RedirectMethod. + + @@ -449,7 +610,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 503. Indicates that the server is currently unable to handle the client's request + due to a temporary overloading or maintenance of the server. + @@ -460,7 +624,9 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 101. Indicates that the server is switching the HTTP version or protocol on the connection. + @@ -471,7 +637,15 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + + Equivalent to status code 307. Indicates that the requested resource is located temporarily + under a different URI. + + + TemporaryRedirect is a synonym for RedirectKeepVerb. + + @@ -482,7 +656,9 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 401. Indicates that the client's request requires user authentication. + @@ -493,7 +669,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 415. Indicates that the entity of the client's request is in a format + not supported by the requested resource for the requested method. + @@ -504,7 +683,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 306. This code was used in a previous version of the specification, + is no longer used, and is reserved for future use. + @@ -515,7 +697,10 @@ WebSocketSharp.Net.HttpStatusCode - To be added. + + Equivalent to status code 305. Indicates that the requested resource must be accessed + through the proxy given by the Location field. + diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpVersion.xml b/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpVersion.xml index bcdc742f..4ce02876 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpVersion.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp.Net/HttpVersion.xml @@ -9,7 +9,9 @@ - To be added. + + Provides the HTTP version numbers. + To be added. @@ -19,7 +21,9 @@ Constructor - To be added. + + Initializes a new instance of the class. + To be added. @@ -31,7 +35,9 @@ System.Version - To be added. + + Provides a instance for HTTP 1.0. + To be added. @@ -43,7 +49,9 @@ System.Version - To be added. + + Provides a instance for HTTP 1.1. + To be added. diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/HttpServer.xml b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/HttpServer.xml index 1e77029f..5cd450d7 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/HttpServer.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/HttpServer.xml @@ -9,8 +9,35 @@ - To be added. - To be added. + + Provides the functions of a simple HTTP server that allows to accept the WebSocket connection requests. + + + + The HttpServer class provides the multi WebSocket service. + + + + The HttpServer class needs the application configuration file to configure the server root path. + + + <?xml version="1.0" encoding="utf-8"?> + <configuration> + <appSettings> + <add key="RootPath" value="./Public" /> + </appSettings> + </configuration> + + + + + <?xml version="1.0" encoding="utf-8"?> + <configuration> + <appSettings> + <add key="RootPath" value="../../Public" /> + </appSettings> + </configuration> + @@ -19,7 +46,10 @@ Constructor - To be added. + + Initializes a new instance of the class that listens for incoming requests + on port 80. + To be added. @@ -31,14 +61,19 @@ - To be added. - To be added. + + An that contains a port number. + + + Initializes a new instance of the class that listens for incoming requests + on the specified . + To be added. - - - + + + Method System.Void @@ -55,9 +90,15 @@ - To be added. - To be added. - To be added. + + The type of the WebSocket service. The T must inherit the class. + + + A that contains an absolute path associated with the WebSocket service. + + + Adds the specified type WebSocket service. + To be added. @@ -72,129 +113,155 @@ - To be added. - To be added. - To be added. + + A that contains a virtual path to the file to get. + + + Gets the contents of the specified file. + + + An array of that contains the contents of the file. + To be added. - - - + + + Event - System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> + System.EventHandler<WebSocketSharp.ErrorEventArgs> - To be added. + + Occurs when the server gets an error. + To be added. - - - + + + Event System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP CONNECT request. + To be added. - - - + + + Event - System.EventHandler<WebSocketSharp.ErrorEventArgs> + System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP DELETE request. + To be added. - - - + + + Event System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP GET request. + To be added. - - - + + + Event System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP HEAD request. + To be added. - - - + + + Event System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP OPTIONS request. + To be added. - - - + + + Event System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP PATCH request. + To be added. - - - + + + Event System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP POST request. + To be added. - - - + + + Event System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP PUT request. + To be added. - - - + + + Event System.EventHandler<WebSocketSharp.Server.ResponseEventArgs> - To be added. + + Occurs when the server receives an HTTP TRACE request. + To be added. @@ -206,8 +273,12 @@ System.Int32 - To be added. - To be added. + + Gets the port on which to listen for incoming requests. + + + An that contains a port number. + To be added. @@ -219,8 +290,12 @@ System.Collections.Generic.IEnumerable<System.String> - To be added. - To be added. + + Gets the collection of paths associated with the every WebSocket services that the server provides. + + + An IEnumerable<string> that contains the collection of paths. + To be added. @@ -233,7 +308,9 @@ - To be added. + + Starts to receive incoming requests. + To be added. @@ -246,7 +323,9 @@ - To be added. + + Stops receiving incoming requests. + To be added. @@ -258,8 +337,13 @@ System.Boolean - To be added. - To be added. + + Gets or sets a value indicating whether the server cleans up the inactive WebSocket service instances periodically. + + + true if the server cleans up the inactive WebSocket service instances every 60 seconds; + otherwise, false. The default value is true. + To be added. diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/ResponseEventArgs.xml b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/ResponseEventArgs.xml index 500a8cc4..2f65587b 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/ResponseEventArgs.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/ResponseEventArgs.xml @@ -9,23 +9,16 @@ - To be added. - To be added. + + Contains the event data associated with the response events of the class. + + + A response event occurs when a instance receives an HTTP request. + If you want to get the HTTP request objects, you should access the property. + If you want to get the HTTP response objects to send, you should access the property. + - - - - Constructor - - - - - To be added. - To be added. - To be added. - - @@ -34,8 +27,12 @@ WebSocketSharp.Net.HttpListenerRequest - To be added. - To be added. + + Gets the HTTP request objects sent from a client. + + + A that contains the HTTP request objects. + To be added. @@ -47,8 +44,12 @@ WebSocketSharp.Net.HttpListenerResponse - To be added. - To be added. + + Gets the HTTP response objects to send to the client in response to the client's request. + + + A that contains the HTTP response objects. + To be added. diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServer.xml b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServer.xml index 29e0b8af..a9a2f431 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServer.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServer.xml @@ -155,9 +155,9 @@ To be added. - - - + + + Method System.Void @@ -181,7 +181,7 @@ A that contains an absolute path associated with the WebSocket service. - Adds a WebSocket service. + Adds the specified type WebSocket service. To be added. @@ -251,6 +251,7 @@ true if the server cleans up the inactive clients every 60 seconds; otherwise, false. + The default value is true. To be added. diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServerBase.xml b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServerBase.xml index 4375213e..a948dd35 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServerBase.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServerBase.xml @@ -214,7 +214,7 @@ - Occurs when this server gets an error. + Occurs when the server gets an error. To be added. diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServiceHost`1.xml b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServiceHost`1.xml index ecc0cc85..4ebdf676 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServiceHost`1.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp.Server/WebSocketServiceHost`1.xml @@ -286,6 +286,7 @@ true if the server cleans up the inactive clients every 60 seconds; otherwise, false. + The default value is true. To be added. diff --git a/websocket-sharp/doc/mdoc/WebSocketSharp/Ext.xml b/websocket-sharp/doc/mdoc/WebSocketSharp/Ext.xml index ee90615f..3bd86804 100644 --- a/websocket-sharp/doc/mdoc/WebSocketSharp/Ext.xml +++ b/websocket-sharp/doc/mdoc/WebSocketSharp/Ext.xml @@ -270,13 +270,13 @@ - One of values that contains the HTTP status code. + One of values that contains an HTTP status code. - Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified . - A that contains the description of the . + A that contains the description of the HTTP status code. To be added. @@ -347,13 +347,13 @@ - An that contains the HTTP status code. + An that contains an HTTP status code. - Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified . - A that contains the description of the . + A that contains the description of the HTTP status code. To be added. diff --git a/websocket-sharp/doc/mdoc/index.xml b/websocket-sharp/doc/mdoc/index.xml index 997fa902..8267cddc 100644 --- a/websocket-sharp/doc/mdoc/index.xml +++ b/websocket-sharp/doc/mdoc/index.xml @@ -1,6 +1,6 @@ - + [00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 11 00 00 00 29 17 fb 89 fe c3 91 f7 2b cb 8b e2 61 d2 3f 05 93 6d 65 a8 9e 63 72 a6 f5 d5 2c f2 9d 20 fa 0b c0 70 6a f6 88 7e 8b 90 3f 39 f5 76 c8 48 e0 bb 7b b2 7b ed d3 10 a7 1a 0f 70 98 0f 7f f4 4b 53 09 d2 a5 ef 36 c3 56 b4 aa f0 91 72 63 25 07 89 e0 93 3e 3f 2e f2 b9 73 0e 12 15 5d 43 56 c3 f4 70 a5 89 fe f7 f6 ac 3e 77 c2 d8 d0 84 91 f4 0c d1 f3 8e dc c3 c3 b8 38 3d 0c bf 17 de 20 78 c1 ] @@ -354,10 +354,10 @@ - One of values that contains the HTTP status code. + One of values that contains an HTTP status code. - Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified . @@ -437,10 +437,10 @@ - An that contains the HTTP status code. + An that contains an HTTP status code. - Gets the description of the HTTP status code using the specified code. + Gets the description of the HTTP status code using the specified . diff --git a/websocket-sharp/websocket-sharp.pidb b/websocket-sharp/websocket-sharp.pidb index 0064f8bccdca6cb3b7096616eb8dd67a4f167816..8aba8585d8f9198b0e4a6e4bf9917221bab279d1 100644 GIT binary patch delta 24964 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