日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java Socket 长连接 心跳包 客户端 信息收发 demo

發布時間:2024/4/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java Socket 长连接 心跳包 客户端 信息收发 demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天寫了個socket的測試小程序,代碼如下

import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException;/** * @author 某家: * @version 創建時間:2015年8月17日 下午3:04:14 * 類說明 */ public class Connect {private static final ThreadLocal<Socket> threadConnect = new ThreadLocal<Socket>(); private static final String HOST = "192.168.1.120";private static final int PORT = 8888;private static Socket client;private static OutputStream outStr = null;private static InputStream inStr = null;private static Thread tRecv = new Thread(new RecvThread());private static Thread tKeep = new Thread(new KeepThread());public static void connect() throws UnknownHostException, IOException {client = threadConnect.get();if(client == null){client = new Socket(HOST, PORT);threadConnect.set(client);tKeep.start();System.out.println("========鏈接開始!========");}outStr = client.getOutputStream();inStr = client.getInputStream();}public static void disconnect() {try {outStr.close();inStr.close();client.close();} catch (IOException e) {e.printStackTrace();}}private static class KeepThread implements Runnable {public void run() {try {System.out.println("=====================開始發送心跳包==============");while (true) {try {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch block e.printStackTrace();}System.out.println("發送心跳數據包");outStr.write("send heart beat data package !".getBytes());}} catch (IOException e) {e.printStackTrace();}}}private static class RecvThread implements Runnable {public void run() {try {System.out.println("==============開始接收數據===============");while (true) {byte[] b = new byte[1024];int r = inStr.read(b);if(r>-1){String str = new String(b);System.out.println( str );}}} catch (IOException e) {e.printStackTrace();}}}public static void main(String[] args) {try {Connect.connect();tRecv.start();} catch (UnknownHostException e) {// TODO Auto-generated catch block e.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch block e.printStackTrace();}} }

服務器端直接用的TCP/UDP Socket 調試工具

調試工具下載地址

鏈接: http://pan.baidu.com/s/1e7vIY 提取碼: ipdt

轉載于:https://www.cnblogs.com/someonehere/p/4737295.html

總結

以上是生活随笔為你收集整理的java Socket 长连接 心跳包 客户端 信息收发 demo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。