GnuSmalltalkUsersGuide:AdditionalChapter6 22
- Sockets.StreamSocket
Sockets.StreamSocket
네임스페이스 Sockets에 정의됨
슈퍼클래스: Sockets.AbstractSocket
범주: 소켓-스트림
- 해당 클래스는 AbstractSocket의 기본 모델에 읽기 버퍼를 추가한다.
Sockets.StreamSocket 클래스: 접근하기
defaultImplementationClassFor: aSocketAddressClass
기본 구현 클래스를 응답하라. 서브클래스에 따라 이는 주어진 어드레스 클래스의 기본 스트림 소켓 구현 클래스가 되기도 하고, 기본 데이터그램 소켓 구현 클래스가 되기도 한다.
readBufferSize
새로 생성된 소켓에 대한 읽기 버퍼의 크기를 응답하라.
readBufferSize: anInteger
새로 생성된 소켓에 대한 읽기 버퍼의 크기를 설정하라.
Sockets.StreamSocket 클래스: 초기화하기
initialize
수신자의 기본값(defaults)을 초기화하라.
Sockets.StreamSocket 클래스: 인스턴스 생성
remote: ipAddressOrString port: remotePort
새 소켓을 생성하여 주어진 호스트(변환될 String으로서 또는 SocketAddress로서 전달됨)와 주어진 포트로 연결하라.
remote: ipAddressOrString port: remotePort local: ipAddress port: localPort
새 소켓을 생성하여 주어진 호스트(변환될 String으로서 또는 SocketAddress로서 전달됨)와 주어진 remotePort로 연결하라. 이후 localPort 포트 상에서 ipAddress로 전달된 로컬 주소로 바인딩하라; 전자의 값이 nil인 경우 어떤 로컬 주소든 실행할 것이며, 후자가 0인 경우 로컬 포트가 실행할 것이다.
Sockets.StreamSocket: 접근하기
address
원격 종단점의 주소를 응답하라.
port
원격 종단점의 포트를 응답하라.
Sockets.StreamSocket: 접근하기-읽기
nextAvailable: anInteger into: aCollection startingAt: pos
수신자로부터 anInteger 객체를 aCollection에 위치시키되 pos 위치에서 시작해 더 이상 데이터를 이용할 수 없을 때 멈춘다.
nextAvailable: anInteger putAllOn: aStream
수신자로부터 anInteger 객체를 aStream에 복사하되 더 이상 데이터를 이용할 수 없을 때 멈춘다.
Sockets.StreamSocket: out-of-band 데이터
outOfBand
수신자 상에서 대역외 데이터를 수신하는 데에 사용될 데이터그램 소켓을 리턴하라.
Sockets.StreamSocket: 인쇄하기
printOn: aStream
수신자의 표현을 aStream 상에 인쇄하라.
Sockets.StreamSocket: 스트림 프로토콜
atEnd
소켓에서 더 많은 데이터를 이용 가능한지 응답하라.
availableBytes
소켓의 읽기 버퍼 혹은 운영체제에서 얼마나 많은 바이트를 이용 가능한지 응답하라.
bufferContents
읽기 버퍼의 현재 내용을 응답하라.
canRead
소켓의 읽기 버퍼 혹은 운영체제에서 더 많은 데이터를 이용 가능한지 응답하라.
close
소켓을 비우고 닫아라.
fill
소켓으로부터 읽어온 데이터로 읽기 버퍼를 채워라.
isPeerAlive
피어 원격 머신과의 연결이 아직 유효한지 응답하라.
next
소켓으로부터 바이트를 읽어라. 이를 이용해 다른 스몰토크 Process들을 제어할 수 있다.
peek
버퍼를 앞당기지(advance) 않고 소켓으로부터 바이트를 읽어라; 더 이상 데이터를 이용할 수 없는 경우 nil을 응답하라. 이를 이용해 다른 스몰토크 Process들을 제어할 수 있다.
peekFor: anObject
소켓으로부터 바이트를 읽고 anObject에 일치할 때에만 버퍼를 앞당긴다; 일치 여부를 응답하라. 이를 이용해 다른 스몰토크 Process들을 제어할 수 있다.
readBufferSize: size
주어진 크기의 읽기 버퍼를 새로 생성하라 (첫 번째로 읽기 이전과 현재 버퍼가 비었을 때에만 가능하다).