java websocket開發的客戶端程序


最近用java websocket開發的客戶端程序,在和服務端鏈接通后,在數據傳輸完畢后,客戶端自動關閉了鏈接,如何能保持鏈接不斷開

這個是客戶端的啟動類,在循環完畢后,會自動斷開和服務器的鏈接,開始懷疑是session超時問題,然后設置了下maxsession,卻依然在沒有數據傳輸后立刻斷開了鏈接

public class ClientStart { public static void main(String[] args){ try { WebSocketContainer container = ContainerProvider.getWebSocketContainer(); MyClient client = new MyClient(); container.connectToServer(client, new URI("ws://localhost:8088/websocket")); // container.setDefaultMaxSessionIdleTimeout(5000L); int turn = 0; while(turn++ < 10){ client.send("client send: " + turn); Thread.sleep(1000); } }catch (Exception e){ e.printStackTrace(); } } }

MyClient也放上去吧:

 
@ClientEndpoint public class MyClient { private static Logger logger = LoggerFactory.getLogger(MyClient.class); private Session session; @OnOpen public void open(Session session){ logger.info("Client WebSocket is opening..."); this.session = session; } @OnMessage public void onMessage(String message){ logger.info("Server send message: " + message); } @OnClose public void onClose(){ logger.info("Websocket closed"); } /** * 發送客戶端消息到服務端 * @param message 消息內容 */ public void send(String message){ this.session.getAsyncRemote().sendText(message); } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM