.\" 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)��Ʊ��Ư���򤹤롥addr��pack���줿�����åȥ��ɥ쥹��¤ �ΤǤ��롥 connect(addr) connect(2)��Ʊ��Ư���򤹤롥addr��pack���줿�����åȥ��ɥ쥹�� ¤�ΤǤ��롥 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) �����������åȤ��������롥domain��type��protocol�ϥ��󥯥롼�� �ե�������������Ƥ�������ͤǻ��ꤹ�롥domain��type�˴ؤ��� �ϡ�ʸ����ǻ���Ǥ��뤬�����٤Ƥ򥫥С����Ƥ����ݾڤϤʤ��� 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) �����åȤΰʹߤ���³��λ�����롥how��0�Ǥ�������ʹߤμ������� how��1�Ǥ�����ϡ��ʹߤ����������ݤ���롥how��2�λ��ˤϡ����� �ʹߤ������������Ȥ�˵��ݤ���롥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: