IA92 Java implementation for MQTT을 사용 중이므로 MQTT 브로커에 연결할 수 있습니다. 연결을 설정하기 위해, 나는 이런 식으로 뭔가를하고 있어요 :MQTT 클라이언트의 시간 종료를 설정하는 방법은 무엇입니까?
// Create connection spec
String mqttConnSpec = "tcp://[email protected]_port";
// Create the client and connect
mqttClient = MqttClient.createMqttClient(mqttConnSpec, null);
mqttClient.connect("the_id", true, 666);
문제는 가끔 서버가 응답을 보내는 데 너무 많은 시간을 소요하고 시간 제한 예외가 발생한다는 것입니다 :
org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocket(OSNetworkSystem.java:130)
at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:246)
at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533)
at java.net.Socket.connect(Socket.java:1055)
at com.ibm.mqtt.j2se.MqttJava14NetSocket.<init>((null):-1)
at com.ibm.mqtt.j2se.MqttJavaNetSocket.setConnection((null):-1)
at com.ibm.mqtt.Mqtt.tcpipConnect((null):-1)
at com.ibm.mqtt.MqttBaseClient.doConnect((null):-1)
at com.ibm.mqtt.MqttBaseClient.connect((null):-1)
at com.ibm.mqtt.MqttClient.connect((null):-1)
at com.ibm.mqtt.MqttClient.connect((null):-1)
을
내가해야 할 일은 mqtt 클라이언트가 직접 결정하도록하는 대신 수동으로 시간 초과를 설정하는 것입니다. 설명서에는 다음 내용이 나와 있습니다. MQ Telemetry Transport 연결의 속성을 설정하는 방법 (예 : 시간 초과 및 재시도)이 있습니다.
하지만 솔직히 나는 그것에 대해 아무 것도 발견하지 못했습니다. 전체 javadoc 참조를 살펴 보았습니다. 타임 아웃 구성에 대한 증거는 없습니다. 오픈 소스가 아니기 때문에 소스 코드를 볼 수 없습니다.
그래서 어떻게 Mqtt 연결에 대한 시간 초과를 설정할 수 있습니까?