[#13273] Ruby anywhere — "NAKAMURA, Hiroshi" <nakahiro@...>

なひです.rubyistモード.

262 messages 1999/04/01
[#13305] Re: Ruby anywhere — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/04/05

なひです.

[#13308] Re: Ruby anywhere — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/04/05

なひです.まったく何書いてんだか... > 自分 ^^;

[#13309] Re: Ruby anywhere — 中村暁史 <anakamur@...> 1999/04/05

[#13310] iterator for Dummies( was Re: Ruby anywhere ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/04/05

なひです.もちろん「Dummy」なのは私です.^^;

[#13313] Re: iterator for Dummies( was Re: Ruby anywhere ) — Shugo Maeda <shugo@...> 1999/04/05

前田です。

[#13314] Re: iterator for Dummies( was Re: Ruby anywhere ) — hisanori@... 1999/04/06

松尾です。

[#13317] Re: iterator for Dummies( was Re: Ruby anywhere ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/04/06

なひです.

[#13330] Re: iterator for Dummies( was Re: Ruby anywhere ) — Wakou Aoyama <wakou@...> 1999/04/06

青山です。

[#13363] Re: iterator for Dummies( was Re: Ruby anywhere ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/04/06

なひです.

[#13367] Re: iterator for Dummies( was Re: Ruby anywhere ) — Wakou Aoyama <wakou@...> 1999/04/06

青山です。

[#13312] Re: Ruby anywhere — Inaba Hiroto <inaba@...> 1999/04/05

稲葉です。

[#13371] Re: Ruby and LISP ( was Re: Ruby anywhere ) — takagi@... (TAKAGI, Hiromitsu) 1999/04/06

> > > 「call-by-referenceで」もちょっと言葉が違うような。

[#13377] Re: Ruby and LISP ( was Re: Ruby anywhere ) — Shin-ichiro Hara <sinara@...> 1999/04/07

原です。

[#13378] Re: Ruby and LISP ( was Re: Ruby anywhere ) — Shugo Maeda <shugo@...> 1999/04/07

前田です。

[#13380] Re: Ruby and LISP ( was Re: Ruby anywhere ) — Shin-ichiro Hara <sinara@...> 1999/04/07

原です。

[#13390] Re: Ruby and LISP ( was Re: Ruby anywhere ) — Wakou Aoyama <wakou@...> 1999/04/07

青山です。

[#13398] Re: Ruby and LISP ( was Re: Ruby anywhere ) — Shin-ichiro Hara <sinara@...> 1999/04/07

原です。

[#13399] constant/immutable(Re: Ruby and LISP) — Shugo Maeda <shugo@...> 1999/04/07

前田です。

[#13400] Re: constant/immutable(Re: Ruby and LISP) — 中村暁史 <anakamur@...> 1999/04/07

[#13474] Re: Ruby and LISP ( was Re: Ruby anywhere ) — takagi@... (TAKAGI, Hiromitsu) 1999/04/08

Shugo Maeda <shugo@netlab.co.jp> writes:

[#13490] Re: Ruby and LISP ( was Re: Ruby anywhere ) — Shugo Maeda <shugo@...> 1999/04/08

前田です。

[#13496] What is Object in Ruby? (Re: Ruby and LISP) — Shin-ichiro Hara <sinara@...> 1999/04/08

原です。

[#13800] Re: What is Object in Ruby? (Re: Ruby and LISP) — Shin-ichiro Hara <sinara@...> 1999/04/16

原です。

[#13805] Re: What is Object in Ruby? (Re: Ruby and LISP) — gotoken@... (GOTO Kentaro) 1999/04/16

ごとけんです

[#13808] Re: What is Object in Ruby? (Re: Ruby and LISP) — Shin-ichiro Hara <sinara@...> 1999/04/16

原です。

[#13816] Re: What is Object in Ruby? (Re: Ruby and LISP) — Wakou Aoyama <wakou@...> 1999/04/16

青山です。

[#13824] Re: What is Object in Ruby? (Re: Ruby and LISP) — Shin-ichiro Hara <sinara@...> 1999/04/16

原です。

[#13830] Re: What is Object in Ruby? (Re: Ruby and LISP) — Wakou Aoyama <wakou@...> 1999/04/16

青山です。

[#13839] Re: What is Object in Ruby? (Re: Ruby and LISP) — Wakou Aoyama <wakou@...> 1999/04/17

青山です。

[#13842] Re: What is Object in Ruby? (Re: Ruby and LISP) — Shin-ichiro Hara <sinara@...> 1999/04/17

原です。

[#13856] Re: What is Object in Ruby? (Re: Ruby and LISP) — gotoken@... (GOTO Kentaro) 1999/04/18

ごとけんです

[#13872] Re: What is Object in Ruby? (Re: Ruby and LISP) — Shin-ichiro Hara <sinara@...> 1999/04/19

原です。

[#13880] Re: What is Object in Ruby? (Re: Ruby and LISP) — gotoken@... (GOTO Kentaro) 1999/04/19

ごとけんです

[#13883] destructive methods (Re: Re: What is Object in Ruby?) — matz@... (Yukihiro Matsumoto) 1999/04/19

[#13621] Integer[num] (Re: Ruby and LISP) — gotoken@... (GOTO Kentaro) 1999/04/12

ごとけんです

[#13622] Re: Integer[num] (Re: Ruby and LISP) — Shugo Maeda <shugo@...> 1999/04/12

前田です。

[#13624] Re: Integer[num] (Re: Ruby and LISP) — gotoken@... (GOTO Kentaro) 1999/04/12

ごとけんです

[#13630] Re: Integer[num] (Re: Ruby and LISP) — Shugo Maeda <shugo@...> 1999/04/12

前田です。

[#13675] Re: Integer[num] (Re: Ruby and LISP) — gotoken@... (GOTO Kentaro) 1999/04/13

ごとけんです

[#13677] Re: Integer[num] (Re: Ruby and LISP) — 中村暁史 <anakamur@...> 1999/04/13

[#13690] Flyweight (Re: Integer[num]) — gotoken@... (GOTO Kentaro) 1999/04/13

ごとけんです

[#23715] Re: Flyweight (Re: Integer[num]) — Masatoshi SEKI <m_seki@...> 2000/07/05

[#23718] context switch during finalizer(Re: Re: Flyweight) — matz@... (Yukihiro Matsumoto) 2000/07/06

まつもと ゆきひろです

[#23727] Re: context switch during finalizer(Re: Re: Flyweight) — Masatoshi SEKI <m_seki@...> 2000/07/06

[#13516] Re: Ruby and LISP ( was Re: Ruby anywhere ) — takagi@... (TAKAGI, Hiromitsu) 1999/04/08

Shugo Maeda <shugo@netlab.co.jp> writes:

[#13526] Re: Ruby and LISP ( was Re: Ruby anywhere ) — Shugo Maeda <shugo@...> 1999/04/09

前田です。

[#13568] Re: Ruby and LISP ( was Re: Ruby anywhere ) — takagi@... (TAKAGI, Hiromitsu) 1999/04/09

Shugo Maeda <shugo@netlab.co.jp> writes:

[#13383] — Inaba Hiroto <inaba@...>

稲葉です.

18 messages 1999/04/07
[#13422] Re: — kjana@... (YANAGAWA Kazuhisa) 1999/04/07

In message <9904070229.AA11857@tux0017.sdd.tokyo-sc.toshiba.co.jp>

[#13435] What is `binding' (was Re: Ruby and LISP) — Inaba Hiroto <inaba@...> 1999/04/08

稲葉です。これも出しなおしです.

[#13502] Re: Ruby and LISP ( was Re: Ruby anywhere ) — "豊福" <toyofuku@...>

豊福@パパイヤです。

16 messages 1999/04/08

[#13644] bbs — kikutani@...

rubyで書かれたWebの掲示板てありましたっけ?

31 messages 1999/04/12
[#13656] Re: bbs — TADA Tadashi <sho@...> 1999/04/13

初めて投稿します。多田@S.P.C.です。

[#13657] Re: bbs — kikutani@... 1999/04/13

On Tue, 13 Apr 1999 11:16:47 +0900,

[#13663] Re: bbs — hisanori@... 1999/04/13

松尾です。

[#13867] Re: What is Object in Ruby? (Re: Ruby and LISP) — toyofuku@...

豊福@パパイヤです。

15 messages 1999/04/19
[#13876] Re: What is Object in Ruby? (Re: Ruby and LISP) — Wakou Aoyama <wakou@...> 1999/04/19

青山です。

[#13903] timer — hisanori@...

松尾です。

24 messages 1999/04/20
[#13905] Re: timer — matz@... (Yukihiro Matsumoto) 1999/04/20

まつもと ゆきひろです

[#13910] Re: timer — hisanori@... 1999/04/20

松尾です.

[#13911] Thread GC (Re: Re: timer) — matz@... (Yukihiro Matsumoto) 1999/04/20

まつもと ゆきひろです

[#13920] Re: Thread GC (Re: Re: timer) — hisanori@... 1999/04/20

松尾です.

[#13924] Re: Thread GC (Re: Re: timer) — matz@... (Yukihiro Matsumoto) 1999/04/20

まつもと ゆきひろです

[#14037] TMail について — 民斗 <tommy@...>

民斗です。

38 messages 1999/04/24
[#14082] Re: TMail について — Minero Aoki <aamine@...> 1999/04/27

あおきです。報告ありがとうございます。

[#14088] Re: TMail について — 民斗 <tommy@...> 1999/04/28

民斗です。

[#14090] Re: TMail について — WATANABE Hirofumi <watanabe@...> 1999/04/28

わたなべです.

[#14092] Re: TMail について — Minero Aoki <aamine@...> 1999/04/28

あおきです。

[#14095] Re: TMail について — WATANABE Hirofumi <eban@...> 1999/04/29

わたなべです.

[#14096] Re: TMail について — kikutani@... 1999/04/30

In ruby-list, you wrote:

[#14099] Re: TMail について — matz@... (Yukihiro Matsumoto) 1999/04/30

まつもと ゆきひろです

[ruby-list:13740] Re: IPv6 ruby

From: Jun-ichiro itojun Hagino <itojun@...>
Date: 1999-04-14 13:03:12 UTC
List: ruby-list #13740
>>	直したです。19990414aというやつはちゃんと動くはず。
>どうもです。えっと、動くんですけど、ダイナミックリンクだと
>動きませんね。ぼくはよくわからないのですが、socket.so を
>作るときに getaddrinfo/getnameinfo の入ったライブラリを
>リンクしてやる必要があるということでしょう。モノはできてる
>みたいなのであとは extconf.rb の書き方ですね(たぶん)。

	はい。

>といっても僕もこういう状況での書き方は知りません。

	README.v6に書いておいたのですが、現状
	- KAME IPv6 stackの場合、/usr/local/v6/lib/libinet6.aというので
	  getaddrinfo/getnameinfoを提供していますが、dynamic link libraryは
	  提供しておりません。さて、extconf.rbはどうすればいい?
	- 他のIPv6 stackも似たりよったりです。
	- IPv4 only hostの場合、missing/getaddrinfo.cとかが使われますが、
	  これをsocket.soに入れるにはどうすればいいのか?
	- 両者の場合分けを解決するには? ext/socket/extconf.rb.in?
	というかんじです。

	短期的解決:
	- ruby本体内からgetaddrinfoとgetnameinfoを一度でも参照しておけばよい。
	  例えば、void *p = (void *)getaddrinfo; とでも書けば勝ち。
	  ちょとずるいけど。
	長期的解決:
	- libcにgetaddrinfoが入ればとりあえず解決するはずです。
	  bind 8.2に入ったので(動かないけど)、そのうち蔓延するのではないかと。

>>	getaddrinfo/getnameinfoはとてもよいライブラリ関数だと思うので
>>	ぜひ皆さんに知ってほしいです。IPv4 onlyのときでも、socketまわりの
>>	プログラミングがとても楽ちんになります。see RFC2553.
>TCP しか使ったことないのでいまひとつご利益がわかりませんが、
>楽ちんになる状況の簡単な例はありますか??

	例えば、こんなもんでいかがでしょう。
	- AF_INETを一切hardcodeしなくてよい
	- IPPROTO_TCPもhardcodeしなくてよい(SOCK_STREAMだけ)
	- DNS database上に複数アドレスが書いてある場合の処理を書くのに
	  ひじょーに快調
		しかもAF_INETとAF_INET6が混ざってもok
	- struct in_addr (例えばsin->sin_addr)を一切手でいじらなくて済む
		gethostby*()系はみなstruct in_addrでアドレスを返してくるくせに、
		connect()とかではstruct sockaddr_inが要求されていて
		悲しかったのですが、getaddrinfo()を使えばstruct sockaddr_inが
		返るので楽勝。
	- さらに、inet_ptonとかinet_atonとも綺麗さっぱりお別れできる
		getaddrinfoとgetnameinfoだけあれば生きていけます。

itojun


---
main()
{
	struct addrinfo hints, *res0, *res;
	int error;
	int s;
	char *host = "www.kame.net";
	char *port = "http";
	char *failed = "?";

	memset(&hints, 0, sizeof(hints));
	hints.ai_family = AF_UNSPEC;
	hints.ai_socktype = SOCK_STREAM;
	error = getaddrinfo(host, port, &hints, &res0);
	if (error) {
		fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(error));
		exit(1);
	}

	for (res = res0; res; res = res->ai_next) {
		s = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
		if (s < 0) {
			failed = "socket";
			continue;
		}
		if (connect(s, res->ai_addr, res->ai_addrlen) < 0) {
			failed = "connect";
			close(s);
			continue;
		}
		/* successful, some data transfer */
		close(s);
		break;
	}
	if (!res) {
		perror(failed);
		freeaddrinfo(res0);
		exit(1);
	}

	fprintf(stderr, "successful\n");
	freeaddrinfo(res0);
	exit(0);
}

In This Thread