GnuSmalltalkUsersGuide:AdditionalChapter6 2

From 흡혈양파의 번역工房
Jump to navigation Jump to search
Sockets.AbstractSocketImpl

Sockets.AbstractSocketImpl

네임스페이스 Sockets에 정의됨

슈퍼클래스: FileDescriptor

범주: 소켓-프로토콜


해당 추상 클래스는 소켓 구현을 위한 부모 클래스의 역할을 한다. 구현 클래스는 실제 소켓 연산을 실행하는 루틴에게 중재자 역할을 수행한다. 이는 Socket 클래스의 버퍼링 및 블로킹 행위를 숨긴다.
기본 구현은 각 주소 체계에 의해 제공되지만, SocketAddress 서브클래스에서 클래스 메서드에 의해 변경이 가능하다.


Sockets.AbstractSocketImpl 클래스: 추상적

addressClass

수신자를 위해 주소를 처리하는 책임이 있는 클래스를 응답하라.

protocol

'create'에 대한 프로토콜 매개변수를 응답하라.

socketType

'create'에 대한 소켓 타입 매개변수를 응답하라.


Sockets.AbstractSocketImpl 클래스: C call-outs

accept: socket peer: peer addrLen: len

해당 설명 없음.

bind: socket to: addr addrLen: len

해당 설명 없음.

connect: socket to: addr addrLen: len

해당 설명 없음.

create: family type: type protocol: protocol

해당 설명 없음.

getPeerName: socket addr: addr addrLen: len

해당 설명 없음.

getSockName: socket addr: addr addrLen: len

해당 설명 없음.

listen: socket log: len

해당 설명 없음.

option: socket level: level at: name get: value size: len

해당 설명 없음.

option: socket level: level at: name put: value size: len

해당 설명 없음.

receive: socket buffer: buf size: len flags: flags from: addr size: addrLen

해당 설명 없음.

send: socket buffer: buf size: len flags: flags to: addr size: addrLen

해당 설명 없음.


Sockets.AbstractSocketImpl 클래스: C 상수

soLinger

해당 설명 없음.

soReuseAddr

해당 설명 없음.

sockDgram

해당 설명 없음.

sockRDM

해당 설명 없음.

sockRaw

해당 설명 없음.

sockStream

해당 설명 없음.

solSocket

해당 설명 없음.


Sockets.AbstractSocketImpl 클래스: 소켓 생성

newFor: addressClass

수신자에 대한 소켓을 생성하라.


Sockets.AbstractSocketImpl: 접근하기

connectTo: ipAddress port: port

수신자를 주어진 IP 주소와 포트로 연결하라. '연결하라'는 것은 소켓의 원격 종단점을 부착함을 의미한다.

localAddress

소켓의 로컬 종단점의 주소를 응답하라 (IP를 사용하지 않는다 하더라도 이는 소켓에 바인딩된 머신을 식별한다).

localPort

소켓의 로컬 종단점의 주소를 응답하라 (IP를 사용하지 않는다 하더라도 이는 소켓에 바인딩된 서비스나 프로세스를 식별한다).

remoteAddress

소켓의 원격 종단점의 주소를 응답하라 (IP를 사용하지 않는다 하더라도 이는 소켓이 연결된 머신을 식별한다).

remotePort

소켓의 원격 종단점의 주소를 응답하라 (IP를 사용하지 않는다 하더라도 이는 소켓이 연결된 서비스나 프로세스를 식별한다).


Sockets.AbstractSocketImpl: 비동기 연산

ensureReadable

파일이 열린 경우 그로부터 데이터를 읽을 수 있을 때까지 기다려라. 대기 시 다른 Process들의 실행이 허용된다.

ensureWriteable

파일이 열렸다면 파일로 쓸 수 있을 때까지 기다려라. 대기 시 다른 Process들의 실행이 허용된다.

waitForException

파일이 열렸다면 예외 조건(out-of-band 데이터의 존재와 같은)이 파일에 발생할 때까지 기다려라. 대기 시 다른 Process들의 실행이 허용된다.


Sockets.AbstractSocketImpl: C call-outs

accept: socket peer: peer addrLen: len

해당 설명 없음.

bind: socket to: addr addrLen: len

해당 설명 없음.

connect: socket to: addr addrLen: len

해당 설명 없음.

create: family type: type protocol: protocol

해당 설명 없음.

getPeerName: socket addr: addr addrLen: len

해당 설명 없음.

getSockName: socket addr: addr addrLen: len

해당 설명 없음.

listen: socket log: len

해당 설명 없음.

option: socket level: level at: name get: value size: len

해당 설명 없음.

option: socket level: level at: name put: value size: len

해당 설명 없음.

receive: socket buffer: buf size: len flags: flags from: addr size: addrLen

해당 설명 없음.

send: socket buffer: buf size: len flags: flags to: addr size: addrLen

해당 설명 없음.


Sockets.AbstractSocketImpl: C 상수

soError

해당 설명 없음.


Sockets.AbstractSocketImpl: 소켓 연산

accept: implementationClass

수신자에게서 연결을 수락하고, 새로 생성된 활성 서버 소켓을 처리하게 될 implementationClass의 새 인스턴스를 생성하라.

bindTo: ipAddress port: port

수신자를 주어진 IP 주소와 포트로 바인딩하라. '바인딩'이란 소켓의 로컬 종단점을 부착함을 의미한다.

fileOp: ioFuncIndex

Private - FileStreams가 사용하는 프리미티브의 개수를 제한하는 데에 사용된다.

fileOp: ioFuncIndex ifFail: aBlock

Private - FileStreams가 사용하는 프리미티브의 개수를 제한하는 데에 사용된다..

fileOp: ioFuncIndex with: arg1

Private - FileStreams가 사용하는 프리미티브의 개수를 제한하는 데에 사용된다.

fileOp: ioFuncIndex with: arg1 ifFail: aBlock

Private - FileStreams가 사용하는 프리미티브의 개수를 제한하는 데에 사용된다..

fileOp: ioFuncIndex with: arg1 with: arg2

Private - FileStreams가 사용하는 프리미티브의 개수를 제한하는 데에 사용된다.

fileOp: ioFuncIndex with: arg1 with: arg2 ifFail: aBlock

Private - FileStreams가 사용하는 프리미티브의 개수를 제한하는 데에 사용된다..

fileOp: ioFuncIndex with: arg1 with: arg2 with: arg3

Private - FileStreams가 사용하는 프리미티브의 개수를 제한하는 데에 사용된다.

fileOp: ioFuncIndex with: arg1 with: arg2 with: arg3 ifFail: aBlock

Private - FileStreams가 사용하는 프리미티브의 개수를 제한하는 데에 사용된다..

getSockName

구조체에 소켓의 로컬 종단점에 대한 sockaddr가 포함된 ByteArray를 검색하라.

listen: backlog

수신자를 주어진 크기의 대기(pending) 연결 큐가 있는 수동적 서버(passive server)로 만들어라.


Sockets.AbstractSocketImpl: 소켓 옵션

optionAt: opt level: level put: anObject

소켓 옵션의 값을 수정하라. 옵션 식별자는 'opt'에, 수준은 'level'에 존재한다. anObject는 부울, 정수, 소켓 주소, ByteArray 중 하나가 될 수 있다. 대부분의 일반 소켓 옵션을 위해 해당 메서드 위에 레이어가 제공되므로 이것이 사용되는 경우는 드물 것이다.

optionAt: opt level: level size: size

주어진 크기의 ByteArray에서 소켓 옵션의 값을 응답하라. 옵션 식별자는 'opt'에, 수준은 'level'에 존재한다. anObject는 부울, 정수, 소켓 주소, ByteArray 중 하나가 될 수 있다. 대부분의 일반 소켓 옵션을 위해 해당 메서드 위에 레이어가 제공되므로 이것이 사용되는 경우는 드물 것이다.

soLinger

모든 패킷이 목적지(destination)에 확실히 도달하도록 보장하기 위해 '가까운' 연산이 블로킹할 수 있는 시간을 초로 응답하고, 그러한 패킷이 정상적으로 행동한다면 nil을 응답하라.

soLinger: linger

모든 패킷이 목적지에 확실히 도달하도록 보장하기 위해 '가까운' 연산이 블로킹할 수 있는 시간을 초로 설정하라. Linger가 nil인 경우, 그러한 패킷은 정상적으로 행동할 것이다.

soReuseAddr

다른 소켓이 이 소켓과 같은 로컬 주소로 바인딩될 수 있는지 응답하라. 이 옵션을 활성화할 경우 Internet 포트 번호가 같은 두 개의 소켓을 가질 수 있다; 하지만 시스템은 Internet을 혼동시킬 수 있다는 이유로, 동일하게 명명된 두 개의 소켓을 사용하도록 허용하지 않을 것이다. 해당 옵션이 존재하는 이유는, FTP를 포함한 고수준 Internet 프로토콜이 동일한 소켓 번호를 계속해서 재사용하도록 요구하기 때문이다.

soReuseAddr: aBoolean

다른 소켓을 이것과 같은 로컬 주소로 바인딩할 수 있는지 설정하라.

valueWithoutBuffering: aBlock

aBlock을 평가하여 그것이 소켓에 작성하는 어떤 데이터든 네트워크로 즉시 전송되도록 보장하라.


Notes