IDRP ver0.2

Internet Dice Roll Protocol()łB


dl
ENCAgT[oVXeŁANCAg̓T[oɁu_CXUvv
@oAT[o͌ʂeNCAgɑMA󂯎eNCAg
@͂\B
E\̎d̓NCAgɈˑB
E_CX͍ŒSAUAWAPOAPQAQOʑ̂ƁARCgX(Qʑ)Ac
@T|[gB
E255x͈CɐU悤ɂ(ۂ̕\ɊւĂ̓NCAgˑ)B
ETCPgB
ELN^wB߂̓eLXgŁAsPʂɋ؂Btelnetڑ\B
EoʐMBT[oNCAgANCAgT[o̗ɔCӂ̃^C
@~OŃf[^̑M\B
EbZ[W̑M\ɂB



ʑ

EsR[hLF݂̂ƂBCRLF̓T[oNCAgŏۂLFɕϊ
@̂]܂BꉞT[oCRLFĂĂΏł悤ɍB
E󔒕͔pXy[X̓^ǔJԂƂB
E{R[h͊{IeucpBOȂǂɓ{gꍇ̓NCAg
@eucɕϊ邱ƁBbZ[W͐Content-typeݒ肷ΉłA
@NCAgeucȊOT|[gĂ邩͕ۏ؂ȂBɁAbZ[WȊO
@([U[Ȃ)euĉ݂ƂB
ET[o[̃ftHg|[gԍ3962ԂgB_servicet@C̋Lq
@]B
Eł̓bZ[W{̂̃oCg4095܂ŁB



EbZ[W

P̃bZ[W͎̗vfȂB
ǂݏoꍇ͐擪󔒍s܂łwb_Ƃēǂݍ݁AContent-length̎w
΂炳Content-lengthoCg{̂ƂēǂݍށB
̃bZ[ẂAInternetDICE/0.1̕񂪌܂œǂݔ΂
납X^[gB

Ps
InternetDICE 0.2
B0.1̓o[WB

InternetDICE 0.1

InternetDICE/0.1
ver0.1Ή̃AvP[VƂĎ󂯕tB
ȂAver0.2ver0.1̏ʌ݊łB

Qs
toServer(NCAgT[o[)
toClient(T[o[NCAg)
̂ǂ炩B

Rs
R}hBR}hɂĂ͌qB

Ssڈȍ~
KvȂDateAServerAClientAContent-lengthAContent-typê悤ȃwb_
炸珑BȗꍇɂĂ͋(DateServerAClientȂ
̓`FbNȂ낤)B
{ꍇContent-lengthɂ̃oCgB
wb_Ɩ{̂̋؂͋󔒍s({̂ĂK󔒍so͂邱)B
͌q̃GeBeBEwb_QƁB
ڂQȏ㏑ꍇ͌҂̗pB

󔒌ɖ{LqB`͔CӂAContent-typeŎw肵f[^Ƃ
󂯎B



EGeBeBEwb_


Date: Sat Feb 14 22:44:22 1998
̃tH[}bgŃbZ[W쐬̎Ԃo͂B

vO
Server: ???@
Client: ???
T[o[NCAg̃AvP[Vƃo[WB
󔒂tab܂܂ȂAasciieucŁB`FbNȂ̂ŁAȂ
B

{̂̒
Content-length: ???
{̂̃oCgBPOiŁB
ő4095Ƃ(Ȍ̃o[Wő邩mȂ)B
ȗ邩A0Ȃ{͖ƂĈB

{̂̓e
Content-type: ????
MIMEɑΉ邩mȂAł͖ΉB????ɏ͈ȉ\
B
idice/result _CX[̌(SHOWR}hQ)
idice/text ʏ̃eLXg(ASCII)
idice/sjis ASCII+VtgJIS+pJi
idice/euc  ASCII+euc
idice/binary ̑
Ȃ݂ɃT[o[ł͂̒l̃`FbN͂ȂB̕ƁA{̂܂ܑ
̃NCAgɗłB
NCAgŃ`FbNāAKvȂϊ̏usƁB



ENCAg->T[o[R}h

LIST
@@ݑ݂`lꗗvBT[o[̕ԓPUTCHANNELR}h
@@őĂB

OPEN NCAg̃AhX:|[g [U[
@@T[oɃ[U[o^BOPENALISTACLOSEAGETUSERȊÕR}h
@@܂OPENȂƗLɂȂȂBT[o[͓o^ĂSẴNCA
@@gɊẽNGXgoƂoB
@@OPENĂƂɍOPENꂽꍇ̓[hBo^̕
@@XB
@@o^̓j[NȂ32oCg܂ŔC(pXy[XA^us)B{euc
@@gƁB
@@AhX|[g̓`FbNȂmȂAƏB
@@o^ł牞R[h0X|XŕԂB

JOIN `l
@@̃`lɓBȂVɍB
@@ɕ̃`lɓo^Ă͂ȂȂB̏ꍇAȑOĂ`l
@@͎IɖB
@@ɕ̃`lɎQɂ̓NCAg𕡐グ邱ƁB
@@T[o[̓[U[`lɓoƂɂ̃`lɎQĂ郁
@@o[SPUTUSERR}h𑗂B
@@`l32oCg܂(Xy[XA^us)B#Ŏn܂邱ƁB{euc
@@gƁB

CLOSE
@@T[o[o^𖕏BȌナNGXg͑ȂȂB
@@̌TCPRlNVN[YB

MODE p[^
@@[hύXBp[^͈ȉ̒ʂB
@@+o I[v_CX[h(default)
@@-o V[Nbg_CX[h(ʂȂȂ)
(0.3htg)
@@+s \[g[h(_CXڂɃ\[g)
@@-s m[}[h(default)

ROLL x y z
@@ʑ̃_CXU悤ɗvBɂ͂QASAUAWAPOAPQA
@@QOAPOOLB1`255B
@@ۂ̃T[oł͂1`255`127ł邱ƂقƂǂ낤AꉞL
@@ȊO͖ۏ؁B
@@zɂ̓_CX̐Uw肷B
@@0 ʏ
@@1 ǂꂩPłőlo瓯U蒼
@@ȊO̐Aver0.1̂悤ɏȗ0ƌȂB
(0.3htg)
@@2 SőlȂU葫
@@3 [(1dxȂ5%AȊO͍ől)
@@4 [(1dxȂ牺5%AȊO͍Œl)
@@5 ㉺[(1dxȂ㉺5%AȊO͍őAŏl)
@@6 T&To[T[N
@@7 ǂꂩPŒlȂU葫
@@8 SŒlȂU葫
@@9 SڂȂU葫
    10 őlo_CXU葫
@@11 Œlo_CXU葫
@@20`29 2d6̐l32-lȏȂU葫

SENDMESG ̃[U[[ ̃[U[EEE]
@@ɃbZ[W𑗂BbZ[W{̂̓GeBeBE{fBɏB
@@ɓɑB*Ɠ`lɂSɑB
@@𒼐ڎw肷ΈႤ`lɂ鑊`lɓĂȂ
@@B
@@T[o͎w肳ꂽSHOWMESGR}hőSbZ[WzMB
@@ȂAɂ͕KԂĂB

GETUSER
@@݃T[o[ɓo^Ă郁o[̃XgvB
@@T[oPUTUSERR}hŌʂԂB

READY }WbNio[
@@T[o[ɉvB΂炭Ȃ玩IɃN[Y
@@B
@@}WbNio[͓KȒl(0`65535)B

RESPONSE R[h }WbNio[
@@T[o[̖(READY)ւ̉B}WbNio[READYR}h
@@ẮBR[h͌QƁB



ET[o[->NCAgR}h

SHOW x y [U[ z
@@[U[Aʑ̃_CXUʂ\悤ɗvBۂ̃_C
@@Xڂ̓GeBeBE{fBɂPsPŏB
@@NCAgROLLR}h󗝂ꂽƂɓ`lɂeNC
@@AgɔMB
@@z͐Uw肵tOB
@@0 ʏ
@@1 ǂꂩPłőlo瓯U蒼B
@@@U蒼NƂ́Aۂ̃_CXڂ0Zp[^Ƃđď
@@@B

SHOWMESG 
@@ĂbZ[WzMBbZ[W{̂̓GeBeBE{fB
@@B
@@NCAgSENDMESGR}h󗝂ꂽƂɊeNCAgɔM
@@B
@@ȊOł傪serverƂȂT[o[bZ[WB

PUTUSER
@@݃T[o[ɓo^Ă郆[U[ꗗ𑗂Bۂ̃[U[ꗗ̓G
@@eBeBE{fBɂPsPlŏB
@@o^ Q`l ̃AhX:|[g
@@[U[̃`lւ̏o肪Ƃɂ̃`lɂ郆[U[S
@@ɁAGETUSERR}hĂƂɑΏۂ̃[U[ɔMB

PUTCHANNEL
@@ݑ݂`lꗗ𑗂BLISTR}hւ̕ԓƂđB

READY }WbNio[
@@NCAgɐɂ𔻒fׂBNCAg񐔂̃g
@@CsĂX|Xꍇ͎ICLOSEB
@@}WbNio[͓KȒl(0`65535)B
@@NCAgv󂯕t]T邩𒲂ׂ邽߂SHOWȂǂ̑O
@@READYR}h𑗂ĊmF邱ƂlĂB

RESPONSE R[h }WbNio[
@@NCAg̃R}h(READY)ւ̉B
@@}WbNio[READYR}hőẮBR[h͌QƁB



E
R}hւ̕ԓƂRESPONSER}hőׂB
ΐ͉̌R[ḧӖAȗBĂB
000/OK@ȂƂB
100/Illegal Header @@wb_sB
101/Illegal Command@@R}hsB
102/Illegal Parameter@R}h̃p[^sB
200/Not Open@o^ĂȂB
201/Not Join@`lɓĂȂB
202/Duplicate Name@o^悤Ƃ[U[͊ɎgĂB
300/Busy Now@ݍƒŐVȃR}h̎󗝂oȂB
301/Not Accept@@R}h󂯓͂ȂB

Ȃ݂READYR}hȊÕR}hɑ΂ĂKvɉRESPONSER}h
sꂤBREADYR}hRESPONSER}h̔s𑣂R}hƍlĖ
΂B


ȉ͎wjB

NCAgT[o[ւ̃R}hɑ΂ԓ
@o^ĂȂɓo^KvȃR}h󂯂200ԂB
@`lɓĂȂƂROLLR}h󂯂Ȃ201ԂB
@v󂯓肪Ȃ301ԂB
@G[Ȃ100ԑԂB
@łȂȂ000ԂB
ɑ΂NCAg̑Ή
@o^͂Ȃ̂200󂯎o^ԂB
@301󂯎o^ԂB
@100ԑ󂯎NCAgœK؂ȏuƂB
@莞ԉȂꍇREADYR}h𔭍sB񐔔sĂ000
@ĂȂȂꉞCLOSER}h𔭍sA؂B

T[o[NCAgւ̃R}hɑ΂ԓ
@v󂯓肪Ȃ301ԂB
@ZĎ󗝏oȂȂ300ԂB
@łȂȂ000ԂB
ɑ΂T[ȏΉ
@300󂯎瑦CLOSEB
@301󂯎炵΂炭҂ƁAÕR}hđMB
@莞ԉȂꍇREADYR}h𔭍sB񐔔sĂ000
@ĂȂȂCLOSEA؂B


