[#44289] [Ruby 1.9 - Feature #5128][Open] 日本語ドキュメントをUTF-8に — Shyouhei Urabe <shyouhei@...>

34 messages 2011/08/01
[#44293] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Nobuyoshi Nakada <nobu@...> 2011/08/01

[#44295] Re: [ruby-dev:44293] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Urabe Shyouhei <shyouhei@...> 2011/08/01

(08/01/2011 11:52 AM), Nobuyoshi Nakada wrote:

[#44299] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Nobuyoshi Nakada <nobu@...> 2011/08/01

なかだです。

[#44418] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Ayumu AIZAWA <ayumu.aizawa@...> 2011/08/24

[#44431] Re: [ruby-dev:44418] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — KOSAKI Motohiro <kosaki.motohiro@...> 2011/08/27

> あいざわです

[#44443] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Ayumu Aizawa <ayumu.aizawa@...> 2011/09/01

あいざわです

[#44315] [Ruby 1.9 - Bug #5139][Open] sigsegv のスタックオーバフロー — Tomoyuki Chikanaga <nagachika00@...>

18 messages 2011/08/02

[#44329] [Ruby 1.9 - Bug #5151][Open] test/socket/test_socket.rb fail when udp connection failed — Ayumu AIZAWA <ayumu.aizawa@...>

16 messages 2011/08/02

[#44368] [Ruby 1.9 - Feature #5180][Open] net/http の接続時に用いる IP アドレスの指定 — Yui NARUSE <naruse@...>

15 messages 2011/08/10

[#44413] [Ruby 1.9 - Bug #5217][Open] lineno is broken when source code has about 7000 lines — Yusuke Endoh <mame@...>

11 messages 2011/08/23

[ruby-dev:44380] Re: [Ruby 1.9 - Feature #5180] net/http の接続時に用いる IP アドレスの指定

From: "NARUSE, Yui" <naruse@...>
Date: 2011-08-11 14:01:01 UTC
List: ruby-dev #44380
(2011/08/10 18:54), Tanaka Akira wrote:
> 2011年8月10日17:20 NARUSE, Yui <naruse@airemix.jp>:
> 
>> TCPSocket.open の中などでやるという方向自体はありだと思っているんですが、
>> ではそこで使う IPアドレスをどこから取ってくるかとなると、
>> グローバル変数を使うとかしないと上手くいかないんじゃないかと
> 
> グローバル変数が嫌ならスレッド変数とか。

require 'net/http'
addrs = %w/192.168.0.1 192.168.0.2 192.168.0.3/
def TCPSocket.open(host, serv, *rest)
  TCPSocket.new(Thread.current[:ipaddr], serv, *rest)
end
addrs.map do |addr|
  Thread.new do
    Thread.current[:ipaddr] = addr
    Net::HTTP.start('exapmle.org', use_ssl: true) do |h|
      r = h.head('/')
      p [addr, h.instance_variable_get(:@socket).io.peeraddr[3], r]
    end
  end
end.each(&:join)
class << TCPSocket
  remove_method :open
end

こんな感じですかね、うーん、ここまで大げさにしないといけないのかなぁ。

>> この提案だとこんな感じになります。
> 
> net/http に対処を入れるほどの話なのかなぁ。

もともと conn_address は Proxy 対応のために抽象化されているので、
そこをもうちょっといじるのはそこまで突飛な話でもないと思うんですけどね。

-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread