자바 에서 Socket 설정 연결 시간 초과 코드 공유
자바 의 소켓 이 지정 한 IP 와 Port 의 호스트 에 연결 되 지 않 으 면 IOException 이상 을 던 지 는 것 을 잘 알 고 있 습 니 다.일반적으로 연결 에서 IOException 이 나타 날 때 까지 일정 하지 않 은 시간 이 있 습 니 다.이른바 시간 초과 가 길 면 개발 할 때 테스트 에 영향 을 주 고 코드 가 제품 이 되면 사용자 체험 에 도 큰 영향 을 줄 수 있 습 니 다.그럼 이 걸 어떻게 설정 해 야 되 지?다음은 상세 한 소 개 를 살 펴 보 겠 습 니 다.
Socket 클래스 는 방법 을 제공 합 니 다:
public void connect(SocketAddress endpoint, int timeout)
throws IOException
인자:따라서 상기 방법 을 사용 하면 Socket 연결 의 시간 초과 시간 을 설정 할 수 있 습 니 다.코드 는 다음 과 같 습 니 다.
// ip prot
String ip = "127.0.0.1";
int port = 8888;
// Socket
Socket client = new Socket();
//
SocketAddress addr = new InetSocketAddress(ip, port);
// 1 ,
client.connect(addr, 1000);
위의 Socketdress 와 InetSocketdress 를 설명 하 십시오.이 두 가지 종 류 는 Socket 연결 주 소 를 만 드 는 데 사 용 됩 니 다.전 자 는 추상 적 인 종류 이 고 후 자 는 전자의 하위 클래스 입 니 다.구조 방법 을 통 해 주 소 를 만 듭 니 다.
public InetSocketAddress(String hostname, int port)
인자:
public final InetAddress getAddress()
이 방법 은 InetAddress 를 되 돌려 주 고 InetAddress 의 방법 으로 IP 를 가 져 옵 니 다.다음 과 같 습 니 다.
public String getHostAddress()
그러면 이 컴퓨터 IP 를 가 져 오 는 코드 는:
// client Socket
String host_ip = client.getAddress().getHostAddress();
그럼 여기까지!총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.