2016-12-05 1 views
-1

JVM에서 네트워크 스트림을 읽는 Linux 소켓 API를 찾으려고했지만 다음 코드에서 차단했습니다. :: recv를 계속 확인하는 방법을 모르는 상태에서 어떤 클래스가 선언하는지 모르기 때문에 \ 그 앞에 클래스 이름이 없으므로 구현하십시오.JVM에서 호출 할 때 Linux 소켓 API를 찾을 수 있습니까?

int os::recv(int fd, char *buf, int nBytes, int flags) { 
    INTERRUPTIBLE_RETURN_INT(::recv(fd, buf, nBytes, flags), os::Solaris::clear_interrupted); 
} 

at file openjdk-7-fcs-src-b147-27_jun_2011\openjdk\hotspot\src\os\solaris\vm\os_solaris.cpp 

내 질문은 : recv를 어디에 우리가 JVM에 의해 호출 네트워크 스트림을 읽기 위해 리눅스 소켓 API를 찾을 수에 대한 선언 \ 구현을 얻는 방법이다.

답변

1

::recv()은 운영 체제가 제공하는 시스템 호출입니다. 더 이상이 길을 따라갈 수 없습니다.

+0

:: recv()가 다음 Linux 소스 코드 (예 : 버전 4.8)에 있으면? 그것이 가능한 경우에 당신은 친절하게 그것을 이해하는 것을 도울 수있다. http://lxr.free-electrons.com/source/ –

+0

농담하는 거지? TCP, UDP, 원시 소켓, Unix 도메인 소켓에 의존하는 API를 '알아 내려고'도와주십시오 ...? 필요한 교과서는 Stevens & Wright, * TCP/IP Illustrated, * 볼륨 I 및 II이며 약 6 인치 두께입니다. StackOverflow에서이 물건을 배울 수 없습니다. – EJP

+0

JVM은 :: recv()를 호출합니다. 단지 :: recv()와 관련된 리눅스의 함수를 알고 싶습니다. –

관련 문제