유닉스 소켓-도우미 함수
이 장에서는 소켓 프로그래밍을 수행하는 동안 사용되는 모든 도우미 함수에 대해 설명합니다. 다른 도우미 기능은 장에 설명되어 있습니다.Ports and Services및 네트워크 Byte Orders.
쓰기 기능
쓰기 버퍼에서 쓰기 닌 nbyte 바이트에 기능 시도가 가리키는 buf에 열린 파일 기술자와 관련된 파일에 fildes .
send () 함수를 사용하여 데이터를 다른 프로세스로 보낼 수도 있습니다 .
#include <unistd.h>
int write(int fildes, const void *buf, int nbyte);
성공적으로 완료되면 write ()는 fildes와 관련된 파일에 실제로 기록 된 바이트 수를 반환합니다. 이 숫자는 nbyte보다 크지 않습니다. 그렇지 않으면 -1이 반환됩니다.
매개 변수
fildes − 소켓 함수에 의해 반환 된 소켓 설명자입니다.
buf − 전송하려는 데이터에 대한 포인터입니다.
nbyte− 쓸 바이트 수입니다. nbyte가 0이면 write ()는 0을 반환하고 파일이 일반 파일이면 다른 결과가 없습니다. 그렇지 않으면 결과가 지정되지 않습니다.
읽기 기능
읽기 버퍼 buf가 가리키는으로 기능을 시도, 버퍼, fildes와 관련된 파일에서 닌 nbyte 바이트를 읽을 수 있습니다.
recv () 함수를 사용 하여 다른 프로세스로 데이터를 읽을 수도 있습니다 .
#include <unistd.h>
int read(int fildes, const void *buf, int nbyte);
성공적으로 완료되면 write ()는 fildes와 관련된 파일에 실제로 기록 된 바이트 수를 반환합니다. 이 숫자는 nbyte보다 크지 않습니다. 그렇지 않으면 -1이 반환됩니다.
매개 변수
fildes − 소켓 함수에 의해 반환 된 소켓 설명자입니다.
buf − 정보를 읽어 오는 버퍼입니다.
nbyte − 읽을 바이트 수입니다.
포크 기능
포크 함수는 새로운 프로세스를 생성한다. 하위 프로세스라고하는 새 프로세스는 호출 프로세스 (상위 프로세스)의 정확한 복사본입니다. 하위 프로세스는 상위 프로세스에서 많은 속성을 상속합니다.
#include <sys/types.h>
#include <unistd.h>
int fork(void);
성공적으로 완료되면 fork ()는 자식 프로세스에 0을 반환하고 자식 프로세스의 프로세스 ID를 부모 프로세스에 반환합니다. 그렇지 않으면 -1이 상위 프로세스로 리턴되고 하위 프로세스가 작성되지 않으며 오류를 표시하기 위해 errno가 설정됩니다.
매개 변수
void − 매개 변수가 필요하지 않음을 의미합니다.
bzero의 기능
bzero의 기능 장소 닌 nbyte의 널 (null) 문자열의 바이트 들 . 이 함수는 모든 소켓 구조를 null 값으로 설정하는 데 사용됩니다.
void bzero(void *s, int nbyte);
이 함수는 아무것도 반환하지 않습니다.
매개 변수
s− 널 바이트로 채워야하는 문자열을 지정합니다. 이것은 소켓 구조 변수에 대한 포인트가 될 것입니다.
nbyte− null 값으로 채워질 바이트 수를 지정합니다. 이것은 소켓 구조의 크기입니다.
bcmp의 기능
bcmp의 함수 바이트 스트링 (S2)에 대해 S1 바이트 문자열을 비교한다. 두 문자열 모두 길이가 nbyte 바이트 인 것으로 간주됩니다.
int bcmp(const void *s1, const void *s2, int nbyte);
이 함수는 두 문자열이 모두 같으면 0을 반환하고 그렇지 않으면 1을 반환합니다. bcmp () 함수는 nbyte가 0 일 때 항상 0을 반환합니다.
매개 변수
s1 − 비교할 첫 번째 문자열을 지정합니다.
s2 − 비교할 두 번째 문자열을 지정합니다.
nbyte − 비교할 바이트 수를 지정합니다.
bcopy 기능
bcopy 함수 복사 닌 nbyte 문자열 (S2)에 문자열 S1에서 바이트. 겹치는 문자열은 올바르게 처리됩니다.
void bcopy(const void *s1, void *s2, int nbyte);
이 함수는 아무것도 반환하지 않습니다.
매개 변수
s1 − 소스 문자열을 지정합니다.
s2v − 목적지 문자열을 지정합니다.
nbyte − 복사 할 바이트 수를 지정합니다.
memset 함수의 기능
memset 함수의 함수도 동일한 방법으로 구조에 설정된 변수를 사용bzero. 아래에 주어진 구문을 살펴보십시오.
void *memset(void *s, int c, int nbyte);
이 함수는 void에 대한 포인터를 반환합니다. 사실, 설정된 메모리에 대한 포인터이므로 그에 따라 캐스트해야합니다.
매개 변수
s − 설정할 소스를 지정합니다.
c − nbyte 자리에 설정할 문자를 지정합니다.
nbyte − 설정할 바이트 수를 지정합니다.