[#9811] Ruby book — WATANABE Tetsuya <tetsu@...>

今日のひとこと(10/05)

22 messages 1998/10/05
[#9812] Re: Ruby book — matz@... (Yukihiro Matsumoto) 1998/10/05

まつもと ゆきひろです

[#9813] Re: Ruby book — "D.Kanda" <MAP2303@...> 1998/10/05

[#9815] Re: Ruby book — matz@... (Yukihiro Matsumoto) 1998/10/05

まつもと ゆきひろです

[#9827] Are there any NNTP Client Class? — Takeshi UME Imai <takeshi@...>

はじめまして。今井といいます。

17 messages 1998/10/05
[#9828] Re: Are there any NNTP Client Class? — aamine@... 1998/10/05

はじめまして、あおきともうします。

[#9869] man-1.1/Marshal.html — ttate@...

立石です。

47 messages 1998/10/07
[#9872] Re: man-1.1/Marshal.html — matz@... (Yukihiro Matsumoto) 1998/10/08

まつもと ゆきひろです

[#9880] comments on manual (Re: man-1.1/Marshal.html) — Motoyuki Kasahara <m-kasahr@...> 1998/10/08

SRA の笠原です。

[#9881] Re: comments on manual (Re: man-1.1/Marshal.html) — matz@... (Yukihiro Matsumoto) 1998/10/08

まつもと ゆきひろです

[#9909] Re: comments on manual (Re: man-1.1/Marshal.html) — Motoyuki Kasahara <m-kasahr@...> 1998/10/09

SRA の笠原です。

[#9936] Re: comments on manual (Re: man-1.1/Marshal.html) — matz@... (Yukihiro Matsumoto) 1998/10/09

まつもと ゆきひろです

[#9939] Re: comments on manual (Re: man-1.1/Marshal.html) — Shin-ichro Hara <sinara@...> 1998/10/09

原です。

[#9940] Re: comments on manual (Re: man-1.1/Marshal.html) — matz@... (Yukihiro Matsumoto) 1998/10/09

まつもと ゆきひろです

[#9941] Re: comments on manual (Re: man-1.1/Marshal.html) — Shin-ichro Hara <sinara@...> 1998/10/09

原です。

[#9942] Re: comments on manual (Re: man-1.1/Marshal.html) — matz@... (Yukihiro Matsumoto) 1998/10/09

まつもと ゆきひろです

[#9944] read(nil) (Re: comments on manual) — Shin-ichro Hara <sinara@...> 1998/10/09

原です。

[#9884] List of UserInterface Kits for Ruby ? — a.furudo@...

20 messages 1998/10/08
[#9906] Re: List of UserInterface Kits for Ruby ? — matz@... (Yukihiro Matsumoto) 1998/10/09

まつもと ゆきひろです

[#9885] 文字化け失礼、再送 — Akihiro Furudo <a.furudo@...>

26 messages 1998/10/08
[#9888] Re: 文字化け失礼、再送 — ttate@... 1998/10/08

立石です。

[#9897] お礼と、 Ruby/Gtk(i18n) について質問 — Akihiro Furudo <A.Furudo@...> 1998/10/08

[#9982] Re: お礼と、 Ruby/Gtk(i18n) について質問 — Daisuke Kanda <MAP2303@...> 1998/10/11

[#10320] Ruby/Gtk を FreeBSD にインストール (re:9982) — Akihiro Furudo <a.furudo@...> 1998/10/24

[#10328] Re: Ruby/Gtk を FreeBSD にインストール (re:9982) — Daisuke Kanda <MAP2303@...> 1998/10/25

[#9976] ruby:struct -> ext module -> ruby — Kikutani Makoto <kikutani@...>

きくたにです。

17 messages 1998/10/11

[#9999] ruby on HP-UX — AU6M-IWM@... (Iwama Misao)

20 messages 1998/10/12
[#10001] Re: ruby on HP-UX — matz@... (Yukihiro Matsumoto) 1998/10/12

まつもと ゆきひろです

[#10030] Ruby/Gtk text widget — TAKAHASHI Masayoshi <maki@...>

高橋です。

29 messages 1998/10/12
[#10035] Re: Ruby/Gtk text widget — Daisuke Kanda <MAP2303@...> 1998/10/12

[#10038] ruby/gtk method naming (Re: Re: Ruby/Gtk text widget) — "D.Kanda" <MAP2303@...> 1998/10/13

[#10067] Re: ruby/gtk method naming (Re: Re: Ruby/Gtk text widget) — Kazumi Okamoto <kazusan@...> 1998/10/13

岡本です。

[#10092] for が修飾子だったら — ARIMA Yasuhiro <fit0298@...>

有馬@FITECです。

46 messages 1998/10/14
[#10093] Re: for が修飾子だったら — matz@... (Yukihiro Matsumoto) 1998/10/14

まつもと ゆきひろです

[#10236] Array.html again — Motoyuki Kasahara <m-kasahr@...>

笠原です。こんにちは。

18 messages 1998/10/22
[#10237] Re: Array.html again — Kanda <MAP2303@...> 1998/10/22

[#10239] Re: Array.html again — matz@... (Yukihiro Matsumoto) 1998/10/22

まつもと ゆきひろです

[#10311] Re: 大規模プログラムの友 — m_seki@... (SEKI)

At 11:23 PM 98.10.23 +0900, Takashi Nakai wrote:

24 messages 1998/10/23
[#10312] Re: 大規模プログラムの友 — Takashi Nakai <nakai@...1.sys.to.casio.co.jp> 1998/10/23

ど〜も、(またしても)中井です。

[#10369] Re: 大規模プログラムの友 — matz@... (Yukihiro Matsumoto) 1998/10/27

まつもと ゆきひろです

[#10415] split — flare@... (Takashi Ikeda)

ふれあです。

20 messages 1998/10/28

[#10473] case with Class — MineroAoki <aamine@...>

あおきです。

46 messages 1998/10/29
[#10483] Re: case with Class — matz@... (Yukihiro Matsumoto) 1998/10/30

まつもと ゆきひろです

[#10521] Re: case with Class — aamine@... 1998/10/30

こんにちは。あおきです。

[#10523] Re: case with Class — gotoken@... (GOTO Kentaro) 1998/10/30

ごとけんです

[#10530] Re: case with Class — aamine@... 1998/10/31

あおきです。

[#10544] Re: case with Class — shugo@... (MAEDA Shugo) 1998/10/31

前田です。

[#10548] Re: case with Class — Wakou Aoyama <wakou@...> 1998/10/31

青山です。

[#10555] Re: case with Class — shugo@... (MAEDA Shugo) 1998/11/01

前田です。

[#10566] Re: case with Class — Wakou Aoyama <wakou@...> 1998/11/01

青山です。

[ruby-list:10344] Re: IPMessenger subset by ruby

From: jkuro@... (Kuroda Jun)
Date: 1998-10-26 09:12:54 UTC
List: ruby-list #10344
黒田%しまったです。

mailmsg ができた時点で満足してしまって未完成なのですが…

 >長い計算ジョブの終わりを知るために、IPMessenger というアプリケーションに
 >メッセージを送るスクリプトを書いてみました。
 >これを拡張して ruby/tk と組み合わせれば使えるアプリケーションになるかな?

以下のを使って、ruby のクライアント同士がしゃべれるのは確認したのです
が、xipmsg 等を相手にするとうまくいかなかったです。多分、僕の実装ミス
だと思うんですが。

- ipmsg.rb -- 
# IPmesssenger Class for Ruby

require "socket"

class IPMSG

  VERSION = 0x0001
  DEFAULT_PORT = 0x0979
  NOOPERATION = 0x00000000
  BR_ENTRY = 0x00000001
  BR_EXIT = 0x00000002
  ANSENTRY = 0x00000003
  BR_ABSENCE = 0x00000004
  BR_ISGETLIST = 0x00000010
  OKGETLIST = 0x00000011
  GETLIST = 0x00000012
  ANSLIST = 0x00000013
  SENDMSG = 0x00000020
  RECVMSG = 0x00000021
  READMSG = 0x00000030
  DELMSG = 0x00000031
  GETINFO = 0x00000040
  SENDINFO = 0x00000041
  GETABSENCEINFO = 0x00000050
  SENDABSENCEINFO = 0x00000051
  ABSENCEOPT = 0x00000100
  SERVEROPT = 0x00000200
  DIALUPOPT = 0x00010000
  SENDCHECKOPT = 0x00000100
  SECRETOPT = 0x00000200
  BROADCASTOPT = 0x00000400
  MULTICASTOPT = 0x00000800
  NOPOPUPOPT = 0x00001000
  AUTORETOPT = 0x00002000
  RETRYOPT = 0x00004000
  PASSWORDOPT = 0x00008000
  NOLOGOPT = 0x00020000
  NEWMUTIOPT = 0x00040000
  NOADDLISTOPT = 0x00080000

  attr :user_name, TRUE

  def initialize(host = nil, port = DEFAULT_PORT)
    @msg_no = 0
    @sock = UDPsocket.new
    if ENV.has_key?("LOGNAME")
      @user_name = ENV["LOGNAME"]
    elsif ENV.has_key?("USER")
      @user_name = ENV["USER"]
    else
      @user_name = "nobody"
    end
    connect(host, port) if (host != nil)
  end

  def connect(host, port = DEFAULT_PORT)
    @sock.connect(host, port)
  end

  ####

  def ipmsg_send(cmd = NOOPERATION, msg = "")
    p_no = Process.pid + @msg_no
    rmsg = format("%d:%d:%s:%s:%d:%s",
		  VERSION, p_no, @user_name.gsub(/:/, ';'),
		  Socket.gethostname.gsub(/:/, ';'),
		  cmd, msg
		  )
    @sock.send(rmsg, 0)
    print rmsg, "\n"
    @msg_no += 1
  end
  private :ipmsg_send

  def bro_ipmsg_send(cmd = NOOPERATION, msg = "")
    p_no = Process.pid + @msg_no
    rmsg = format("%d:%d:%s:%s:%d:%s",
		  VERSION, p_no, @user_name.gsub(/:/, ';'),
		  Socket.gethostname.gsub(/:/, ';'),
		  cmd, msg
		  )
    @bro_sock.send(rmsg, 0)
    print rmsg, "\n"
    @msg_no += 1
  end
  private :bro_ipmsg_send

  ####

  def sendmsg(msg, flags = 0)
    cmd = SENDMSG | flags
    ipmsg_send(cmd, msg)
  end

  def answer(host = nil)
    @sock.connect(host, DEFAULT_PORT) if (host != nil)
    cmd = ANSENTRY
    ipmsg_send(cmd)
  end

  def recvmsg(host = nil)
#, p_no = 0)
    @sock.connect(host, DEFAULT_PORT) if (host != nil)
    cmd = RECVMSG
    ipmsg_send(cmd) #, p_no)
  end
  
  def br_sendmsg(msg, flags = 0)
    cmd = SENDMSG | BROADCASTOPT | flags
    bro_ipmsg_send(cmd, msg)
  end

  def entry(port = DEFAULT_PORT)
    @status = BR_ENTRY

    @bro_sock = UDPsocket.new
    @bro_sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, 1)
    @bro_sock.connect("<broadcast>", port)

    bro_ipmsg_send(BR_ENTRY)
  end

  def exit
    return if @status != BR_ENTRY
    @status = BR_EXIT

    bro_ipmsg_send(BR_EXIT)
    @bro_sock.close
  end

  def close
    self.exit if @status == BR_ENTRY
    @sock.close
  end
end
- --

- mailmsg みたいなもの --
#!/usr/local/bin/ruby

require "ipmsg.rb"

#ヘッダを読んで
#from と subj に値をセットする

msg = Kconv::tosjis("メイルが届きました。\n#{from}\n#{subj}\n")
im = IPMSG.new(HOST)
im.user_name = "MailMsg"
im.sendmsg(msg, (IPMSG::NOLOGOPT|IPMSG::NOADDLISTOPT))
im.close
- --

In This Thread

Prev Next