java nio长连接实现_kio: kio是基于jdk 1.6 nio实现的TCP长连接即时通讯框架。
#kio: TCP長連接框架 適用于Android前端
#為何要開發kio#
由于之前開發的Android推送系統,使用HTTP實現的,隨著業務的擴展,服務器的壓力隨之增大,開始考慮使用TCP長連接來重新實現,正好在一個技術群里了解到t-io,正是我想要的,本地測試都沒問題,當把客戶端遷移到Android系統時,才發現一個致命的問題,由于t-io是基于Jdk1.7開發的,而Android系統卻是基于Jdk1.6,Jdk1.7的nio改動又非常大,所以才有了kio這個項目。kio大量借鑒了t-io的思想及代碼,在此對t-io的作者表示感謝。
應用場景
IM
Android推送服務(已有解決方案)
實時監控
其它實時通訊場景等
快速入門
服務器端
啟動服務
ServerMain.java
package com.kipling.kio.demo.server;
import java.io.IOException;
import com.kipling.kio.core.intf.Packet;
import com.kipling.kio.server.KioServer;
import com.kipling.kio.server.ServerGroupContext;
import com.kipling.kio.server.intf.ServerKioHandler;
/**
* @author KiplingLee E-mail: kiplinglee@163.com
* @version 創建時間:2017年5月3日 上午10:39:44
*
*/
public class ServerMain {
static ServerKioHandler serverHandler = new ShowcaseServerKioHandler();
static ServerGroupContext serverGroupContext = new ServerGroupContext(serverHandler);
static KioServer kioServer = new KioServer(serverGroupContext);
public static void main(String[] args) {
try {
kioServer.start("127.0.0.1", 6789);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
客戶端
先啟動服務器端后在啟動兩個客戶端即可以實現P2P通訊
ClientMain.java
package com.kipling.kio.client.entity;
import java.io.IOException;
import com.kipling.kio.client.TalkClient;
public class ClientMain {
public static void main(String[] args) throws IOException {
TalkClient.buildClient("127.0.0.1",6789,"123456","654321");
}
}
ClientMain1.java
package com.kipling.kio.client.entity;
import java.io.IOException;
import com.kipling.kio.client.TalkClient;
public class ClientMain1 {
public static void main(String[] args) throws IOException {
TalkClient.buildClient("127.0.0.1",6789,"654321","123456");
}
}
發送消息
接收消息
總結
以上是生活随笔為你收集整理的java nio长连接实现_kio: kio是基于jdk 1.6 nio实现的TCP长连接即时通讯框架。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java redis 商品秒杀_redi
- 下一篇: mysql录入foreigen错误_编译