[#37041] [ANN] Exerb/Exerb-CC 2.6.0 — Yuya Kato <yuya-ml@4th.to>

未踏ユース終了まで1ヶ月を切って、焦り気味のYuyaです。

27 messages 2003/02/02
[#37202] Re: [ANN] Exerb/Exerb-CC 2.6.0 — "TOYOFUKU Chikanobu" <toyofuku@...> 2003/03/02

豊福です。

[#37206] Re: [ANN] Exerb/Exerb-CC 2.6.0 — Yuya Kato <yuya-ml@4th.to> 2003/03/04

Yuyaです。

[#37058] Re: Local variables & blocks — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

27 messages 2003/02/05
[#37059] Re: Local variables & blocks — ichimal@... 2003/02/06

皆様、初めまして鈴木です。

[#37063] Re: Local variables & blocks — matz@... (Yukihiro Matsumoto) 2003/02/07

まつもと ゆきひろです

[#37110] Re: Local variables & blocks — ichimal@... 2003/02/16

鈴木です。

[#37115] Re: Local variables & blocks — Tanaka Akira <akr@...17n.org> 2003/02/17

In article <200302161629.h1GGTvJ5008901@fenix.ne.jp>,

[#37123] 私はこれにハマリました。 — Shin-ichiro HARA <sinara@...> 2003/02/18

原です。

[ruby-list:37065] UDPから受信出来ない。

From: Toru MITANI <toru@...>
Date: 2003-02-07 12:36:30 UTC
List: ruby-list #37065
三谷と言います。

今、rubyの勉強がてらUDP/IPを使用したクライアントプログラムを作っているの
ですが、サーバーに対し、メッセージは送信出来るのですが、サーバーからのメッ
セージが受信出来ません。

OSは、WindowsXP HOME、Rubyはcygwinの1.8.6を使用しています。
$ ruby -v
ruby 1.6.8 (2002-12-24) [i386-cygwin]

ちなみに、サーバーもWindowsXP HOMEです。

リファレンスマニュアルを見ても分かりませんので、どなたか教えて頂けないで
しょうか?

現在、発生しているエラーは
./ServerConnect.rb:30:in `recvfrom' Invalid argument - "recvfrom(2)"
./ServerConnect.rb:30:in `connect' Invalid argument - "recvfrom(2)"
./ServerConnect.rb:30:in `loop' Invalid argument - "recvfrom(2)"
./ServerConnect.rb:30:in `connect' Invalid argument - "recvfrom(2)"
./ServerConnect.rb:45 Invalid argument - "recvfrom(2)"
です。なんか、recvfromメソッドの引数が誤っている。と怒っているようですが
解決方法が分かりません。


ソースを以下に記述します。

#!/usr/local/bin/ruby
require "socket"

=begin
RoboCupシュミレーションリーグのサーバーに接続するクラス
=end
class ServerConnect
   @address = nil
   @port = nil
   @socket = nil
   MSG_SIZE = 1024
   
=begin
サーバーに接続する。
=end
   def connect(address, port, termName)
      if address==nil then
         raise "サーバー名、IPアドレスが不正です"
      end
      if port<1 then
         reise "ポート番号が不正です"
      end
      @address = address
      @port = port

      @socket = UDPSocket.new
      begin
         @socket.send("(init #{termName})", 0, @address, @port)
         loop {
            packet, addr = @socket.recvfrom(512)
            print "'#{addr}'\n"
            print "'#{packet}'\n"
         }
      rescue
         $@.each { |err|
            print "#{err} #{$!}\n"
         }
         @socket.close
      end
   end
end

# server = ServerConnect.new "192.168.10.2", "10"
server = ServerConnect.new
server.connect("localhost", 6000, "test")



--
三谷 徹
E-Mail : toru@mitani.homeip.net



In This Thread

Prev Next