java nio长连接实现_kio: kio是基于jdk 1.6 nio实现的TCP长连接即时通讯框架。
#kio: TCP長(zhǎng)連接框架 適用于Android前端
#為何要開(kāi)發(fā)kio#
由于之前開(kāi)發(fā)的Android推送系統(tǒng),使用HTTP實(shí)現(xiàn)的,隨著業(yè)務(wù)的擴(kuò)展,服務(wù)器的壓力隨之增大,開(kāi)始考慮使用TCP長(zhǎng)連接來(lái)重新實(shí)現(xiàn),正好在一個(gè)技術(shù)群里了解到t-io,正是我想要的,本地測(cè)試都沒(méi)問(wèn)題,當(dāng)把客戶端遷移到Android系統(tǒng)時(shí),才發(fā)現(xiàn)一個(gè)致命的問(wèn)題,由于t-io是基于Jdk1.7開(kāi)發(fā)的,而Android系統(tǒng)卻是基于Jdk1.6,Jdk1.7的nio改動(dòng)又非常大,所以才有了kio這個(gè)項(xiàng)目。kio大量借鑒了t-io的思想及代碼,在此對(duì)t-io的作者表示感謝。
應(yīng)用場(chǎng)景
IM
Android推送服務(wù)(已有解決方案)
實(shí)時(shí)監(jiān)控
其它實(shí)時(shí)通訊場(chǎng)景等
快速入門(mén)
服務(wù)器端
啟動(dòng)服務(wù)
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 創(chuàng)建時(shí)間: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();
}
}
}
客戶端
先啟動(dòng)服務(wù)器端后在啟動(dòng)兩個(gè)客戶端即可以實(shí)現(xiàn)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");
}
}
發(fā)送消息
接收消息
總結(jié)
以上是生活随笔為你收集整理的java nio长连接实现_kio: kio是基于jdk 1.6 nio实现的TCP长连接即时通讯框架。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java redis 商品秒杀_redi
- 下一篇: matlab平面问题编程,有限元平面矩形