From b2420d8ffa4d347a75efbbdc376f4ce65c0eb172 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Mon, 10 Apr 1995 18:36:06 +0900 Subject: version 0.73 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.73.tar.gz Mon Apr 10 18:36:06 1995 Yukihiro Matsumoto (matz@ix-02) * version 0.73 Fri Apr 7 13:51:08 1995 Yukihiro Matsumoto (matz@ix-02) * cons.c->assoc.c: consの余計な機能は外してpairとしての機能だけを 残した.enumerableをincludeするのもやめた. * string.c(esub): 文字列置換イテレータ.perlのs///eの相当する. --- ext/socket.doc | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 ext/socket.doc (limited to 'ext/socket.doc') diff --git a/ext/socket.doc b/ext/socket.doc new file mode 100644 index 0000000000..aa5bfedbff --- /dev/null +++ b/ext/socket.doc @@ -0,0 +1,227 @@ +.\" socket.doc - -*- Indented-Text -*- created at: Thu Mar 23 20:29:02 JST 1995 + +** Socket(饹) + +SuperClass: BasicSocket + +åȤΤΤФ륷ƥॳ٥Υ󶡤륯饹 +PerlΥåȤФ륢Ʊ٥εǽ󶡤Ƥ롥Υ +Ǥϥåȥɥ쥹pack줿ʸǡꤹ롥UDPåȤϤ +Υ饹ȤäѤ롥 + +Methods: + + accept + + ³դơ³Ф륽åȤȥɥ쥹 + ڥ֤accept(2)򻲾ȡ + + bind(addr) + + bind(2)ƱƯ򤹤롥addrpack줿åȥɥ쥹¤ + ΤǤ롥 + + connect(addr) + + connect(2)ƱƯ򤹤롥addrpack줿åȥɥ쥹 + ¤ΤǤ롥 + + listen(backlog) + + listen(2)ƱƯ򤹤롥 + + recv(len[, flags]) + + åȤǡꡤʸȤ֤lenϼ + Ĺꤹ롥flagsˤĤƤrecv(2)򻲾ȡflagsΥ + եͤ0Ǥ롥 + + recvfrom(len[, flags]) + + recvƱͤ˥åȤǡ뤬ͤʸ + ꥽åȤΥɥ쥹ΥڥǤ롥ˤĤƤrecvƱ͡ + + send(mesg, flags[, to]) + + åȤ𤷤ƥǡ롥flags˴ؤƤsend(2)򻲾Ȥλ + connectƤʤåȤФƤǤtoꤹɬ + פ롥ºݤäǡĹ֤ + +Single Methods: + + open(domain, type, protocol) + new(domain, type, protocol) + + åȤ롥domaintypeprotocolϥ󥯥롼 + եƤͤǻꤹ롥domaintype˴ؤ + ϡʸǻǤ뤬٤Ƥ򥫥СƤݾڤϤʤ + + socketpair(domain, type, protocol) + + åȤΥڥ֤λ openƱǤ롥 + +** BasicSocket(饹) + +åȤɽݥ饹Ūʥåϥ֥饹롥 +㤨Х󥿡ͥåȥɥᥤξTCPsocketѤ롥 + +SuperClass: IO + +Methods: + + getopt(level, optname) + + åȤΥץ롥getsockopt(2)򻲾ȤΤȡ + ץƤޤʸ֤ + + getpeername + + ³ΥåȤξ롥ѥå줿sockaddr¤ + ٥˥פʸ֤롥getpeername(2)򻲾ȤΤȡ + + getsockname + + åȤξ롥ѥå줿sockaddr¤Τ٥˥ + ʸ֤롥getsockname(2)򻲾ȤΤȡ + + setopt(level, optname, optval) + + åȤΥץꤹ롥setsockopt(2)򻲾ȤΤȡ + + shutdown(how) + + åȤΰʹߤ³λ롥how0Ǥʹߤμ + how1Ǥϡʹߤݤ롥how2λˤϡ + ʹߤȤ˵ݤ롥shutdown(2)򻲾ȡ + +** TCPserver(饹) + +TCP/IPȥ꡼෿³Υ¦ΥåȤΥ饹Υ饹ˤä +ñ˥åȤѤФΥץߥ󥰤Ǥ롥㤨echo +ФϰʲΤ褦ˤʤ롥 + + gs = TCPserver.open(4444) + socks = [gs] + + while TRUE + nsock = select(socks); + if nsock == nil; continue end + for s in nsock[0] + if s == gs + socks.push(s.accept) + else + if s.eof + s.close + socks.delete(s) + else + str = s.gets + s.write(str) + end + end + end + end + +SuperClass: TCPsocket + +Methods: + + accept + + 饤Ȥ³׵դ³TCPsocketΥ + 󥹤֤ + +Single Methods: + + new([host, ]service) + open([host, ]service) + + service/etc/services(ޤNIS)ϿƤ륵ӥ̾ + ݡֹǻꤹ롥hostꤷϻꤷۥȤ + ³դ롥άƤΥۥȤ³׵ + 롥 + +** TCPsocket + +󥿡ͥåȥɥᥤΥȥ꡼෿åȤΥ饹̾IO饹 +֥饹ƱͤϤǤ롥Υ饹ˤäƥåȤѤ +饤Ȥñ˵ҤǤ롥桼Ϥ򤽤ΤޤޥФž +ϰʲΤ褦ˤʤ롥 + + s = TCPsocket("localhost", 4444) + while gets() + s.write($_) + print(s.read) + end + +SuperClass: BasicSocket + +Methods: + + addr + + åȤ³ɽ֤γǤ1 + ʸ "AF_INET"2Ǥportֹ桤3ǤۥȤɽʸ + Ǥ롥 + + peeraddr + + ³襽åȤξɽ֤γǤ + addr᥽åɤ֤ƱǤ롥 + +Single Methods: + + open(host, service) + new(host, service) + + hostǻꤷۥȤserviceǻꤷݡȤ³ + Ȥ֤hostϥۥ̾ޤϥ󥿡ͥåȥɥ쥹򼨤ʸ + service/etc/services(ޤNIS)ϿƤ륵 + ̾ݡֹǤ롥 + +** UNIXserver + +UNIXȥ꡼෿³Υ¦ΥåȤΥ饹 + +SuperClass: UNIXsocket + +Methods: + + accept + + 饤Ȥ³׵դ³UNIXsocketΥ + 󥹤֤ + +** UNIXsocket + +UNIXɥᥤΥȥ꡼෿åȤΥ饹̾IO饹Υ֥饹 +ƱͤϤǤ롥 + +SuperClass: BasicSocket + +Methods: + + addr + + åȤ³ɽ֤γǤ1 + ʸ "AF_UNIX"2ǤpathǤ롥 + + path + + UNIXåȤΥѥ֤ + + peeraddr + + ³襽åȤξɽ֤γǤ + addr᥽åɤ֤ƱǤ롥 + +Single Methods: + + open(path) + new(path) + + pathǻꤷѥ̾Ѥ³åȤ֤ + +------------------------------------------------------- +Local variables: +fill-column: 70 +end: -- cgit v1.2.3