2008年08月30日

Interface 10月号に掲載したプログラムの修正について

 CQ出版社のInterface 10月号 特集 第7章,Interfaceのダウンロードページに掲載しましたプログラム p2pq_ad に問題がありました.

  • 実行中, q キーを押しても終了できません.
  • SendTo 文の構文が間違っています.ただし,プログラム自体は動作します.

 お手数ですが,次のようにプログラムを修正していただきますようお願いいたします.

掲載したプログラム p2pq_ad 修正したプログラム p2pq_ad
udpsend(char *str, int port) {
        char soc, *buf, len;
        int i, j;
        long ip;
        ip = GetIP(str);
        soc = CreateSocket(0);
        if ((soc <= -1) || (ip == 0)) {
                PrStr("Invaid Socket");
                CloseSocket(soc);
                return;
        }
        PrStr("Start UDP Send\r\n");
        buf = MemoryAlloc(20);
        InitAd(0x70);
        while (1) {
                len = 0;
                MemClear(buf, 20);
                for(i = 4; i < 7; i++){
                        GetDigit(GetAd(i), buf+len);
                        len += StrLen(buf+len);
                        if (i != 6) buf[len++] = 44;
                }
                SendTo(soc, ip, port, buf, StrLen(buf);
                if (Getc(0) == 'q') break;
        }
        PrStr("End UDP Send\r\n");
        CloseSocket(soc);
        MemoryFree(buf);
}
udpsend(char *str, int port) {
        char soc, *buf, len;
        int i, j;
        long ip;
        ip = GetIP(str);
        soc = CreateSocket(0);
        if ((soc <= -1) || (ip == 0)) {
                PrStr("Invaid Socket");
                CloseSocket(soc);
                return;
        }
        PrStr("Start UDP Send\r\n");
        buf = MemoryAlloc(20);
        InitAd(0x70);

        #stop 0
        while (1) {
                len = 0;
                MemClear(buf, 20);
                for(i = 4; i < 7; i++){
                        GetDigit(GetAd(i), buf+len);
                        len += StrLen(buf+len);
                        if (i != 6) buf[len++] = 44;
                }
                SendTo(soc, ip, port, buf, StrLen(buf));
                if (Getc(0) == 'q') break;
        }
        PrStr("End UDP Send\r\n");
        CloseSocket(soc);
        MemoryFree(buf);
}

 バグレポートありがとうございました: 【P2P】 P2P地震情報 【地震情報】(レス番4,14)

この記事へのコメント
プログラムの8行目に「PrStr("Invaid Socket");」とありますが、Invaidでは無く、Invalidではないでしょうか。
Posted by 通りすがりの人A at 2009/05/23 14:29
コメントを書く
お名前:
Webサイト:
コメント:

この記事へのTrackBack URL
http://blog.seesaa.jp/tb/105732388