       IP Messenger ʐMvgRdl(htg4Łj         96/02/21
                                                      Modify 97/02/10

                                                           H.Shirouzu
                                                shirouzu@ntt-it.co.jp

Tv
        UDP PortgpAbZ[WMT[rXł


        TCP/IPg΁AOS̎ނ₢܂B̂lbg[N
        iюw̃lbg[NjŁAIȃoFł܂B
        bZ[WM̂̂́AIPڑĂSoɑ΂s܂B
        ܂AMł܂邱ƂȂAyłB

ڍ
        UDP|[g(default:2425)gpāAȉ̕@ŏ܂B

  1.R}h

     1) R}h( command & 0xff )
        IPMSG_NOOPERATION    
        IPMSG_BR_ENTRY       T[rXɃGg[iNBroadcastj
        IPMSG_BR_EXIT        T[rX甲iIBroadcastj
        IPMSG_ANSENTRY       T[rXɃGg[F
        IPMSG_BR_ABSENCE     s݃[hύX

        IPMSG_BR_ISGETLIST   zXgXgo\o̒T
        IPMSG_OKGETLIST      zXgXgo\ʒm
        IPMSG_GETLIST        zXgXgov
        IPMSG_ANSLIST        zXgXgo

        IPMSG_SENDMSG        bZ[W̑M
        IPMSG_RECVMSG        bZ[W̎MmF

        IPMSG_READMSG        ̊Jʒm
        IPMSG_DELMSG         jʒm

        IPMSG_GETINFO        IPMSGo[W擾
        IPMSG_SETINFO        IPMSGo[W񉞓

     2) IvVtO( command & 0xffffff00 )

        IPMSG_SENDCHECKOPT   M`FbN
        IPMSG_SECRETOPT      
        IPMSG_BROADCASTOPT   u[hLXgij
        IPMSG_MULTICASTOPT   }`LXgiIj
        IPMSG_NOPOPUPOPT     m|bvAbvMiMMցj
        IPMSG_AUTORETOPT     is|h~pj
        IPMSG_RETRYOPT       đtO
        IPMSG_PASSWORDOPT    O
        IPMSG_DIALUPOPT      _CAAbv
        IPMSG_NOLOGOPT       OɎcȂ
        IPMSG_NEWMUTIOPT     j[o[W}`LXg
        IPMSG_ABSENCEOPT     s݃[h
        IPMSG_SERVEROPT      T[o[
        IPMSG_NOADDLISTOPT   BR_ENTRYĂȂꎞo

  2.R}htH[}bgiׂĕƂĕ\j

     1) R}hitH[}bgo[W1j

       Ver(1)FPacketԍ : User : Host : Commandԍ : ǉ

     2) ݂̃R}htH[}bgɂ郁bZ[W̑M

          "1:0:shirouzu:jupiter:32:Hello"

  3.R}hTv

        NɁAIPMSG_BR_ENTRYR}hu[hLXgAłɗ
        オĂIP MessengerɁAVKQm点܂B

        ̃u[hLXgɂAłɗオĂ郁óA
        ̑M惊XgɐVKQȍǉ܂BɁA
        IPMSG_ANSENTRYR}hVKQoɑ΂AԐM܂B

        VKQóAIPMSG_ANSENTRYM邱ƂɂAł
        オĂSȍ𓾂邱Ƃł܂B
        AIPpPbgȂ́ASĂIP Messenger
        ̑M惊XgێłƂ킯łB

        IPMSG_BR_ENTRY, IPMSG_ANSENTRY, IPMSG_BR_ABSENCER}hł́A
        s݃[hɂ킹āAIPMSG_ABSENCEOPT𗧂Ă܂BɁA
        R}h̒ǉɂ̓jbNl[܂BIPMSG_BR_ABSENCÉA
        s݃[hωɃu[hLXg܂B
        iO[vgjLR}hQ'\0'I[ɂÂāA
        O[v邱Ƃł܂B

        bZ[W̑Mɂ́AIPMSG_SENDMSGgpAḾAmF
        tOĂꍇɌAIPMSG_RECVMSGԂ܂B

        u[hLXgɂ郁bZ[WḾAIPMSG_BOADCASTOPT𗧂
         IPMSG_SENDMSGgp܂Bu[hLXg͎
        `FbNĂpPbg󂯎ꍇA{IɃpPbg
        Ԃ܂B

        `FbNĂpPbg󂯎ꍇAJꎟA
        IPMSG_READMSG𑗏o܂B

        ȂA莞ԈȓIPMSG_ANSENTRYȂǂ̊mFpPbg󂯎
        ȂꍇÃpPbgđoł܂BgC̉񐔁EԊu
        ɂẮAˑłB
        ȂAIPMSG_RECVMSG, IPMSG_READMSGȂǁAmFEpPbgɂ́A
        ̌ƂȂpPbg̔ԍgɓ܂B


  4. ̑

     1) sɂ

        obZ[W̉śAUNIX`ɓꂵ܂('0x0a')B
        KvɉāAϊsĂB

     2) f~^

        f~^':'gĂ֌WA[UAzXg̈ɂ́A
        ':'܂ޖÓAg܂BAzXg':'܂ł
        ꍇA̕(Ƃ';')ȂǂɒuĎgpĂB
        ƂɕKvƂ͎v܂񂪁AR΁AGXP[
        vV[PXłlƎv܂B

     3) R[h

        R[h́ASJIS̎gpz肵Ă܂AAUNIXΉȂ
        lƂ܂̂ŁAΉlƎv܂B


  5. A

      E-Mail shirouzu@ntt-it.co.jp ܂ŁB


L
    R}hR[h́Aipmsg.hQƂĂ()


