Java心跳消息的实现,hadoop的rpc基础(心跳篇)下一篇(rpc通信篇)
2014-06-01 15:30
239 查看
像现在的大型开源项目的源码,真的很值得认真的分析分析
心跳机制在hadoop的中占了非常重要的地位,现在我们就来简单的勾画一下心跳检测
(1)
客户端
public static void main(String[] args) {
int port = 9999;
Socket client = null;
String ip = "127.0.0.1";
int cout = 0 ;
// 构造客户端socket对象
try {
client = new Socket(ip, port);
OutputStream out = client.getOutputStream();
System.out.println("客户端2启动");
while(true)
{
cout++;
Thread.sleep(5000);
out.write(String.valueOf(cout).getBytes());
}
System.out.println("客户端2退出");
} catch (Exception e) {
e.printStackTrace();
}
finally
{
System.out.println("退出");
}
}
(2)
服务器端
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(9999);
while(true)
{
//接受客户机的连接请求
Socket client = server.accept();
new TestServer(client).start();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static class TestServer extends Thread
{
Socket client = null ;
public TestServer(){
}
public TestServer(Socket client)
{
this.client = client ;
}
@Override
public void run() {
try
{
InputStream is = this.client.getInputStream();
while(true)
{
if (this.client.isClosed()
|| this.client.isConnected() == false)
break;
try {
System.out.println(Thread.currentThread().getName()+"=>"+"心跳测试正常!");
} catch (Exception ex) {
System.out.println(Thread.currentThread().getName()+"=>"+"心跳测试异常!");
break;
}
byte []data = new byte[28];
is.read(data);
System.out.println(Thread.currentThread().getName()+"=>"+new String(data));
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
System.out.println(Thread.currentThread().getName()+"=>"+"客户端关闭");
}
}
}
通过简单的例子 是不是已经知道心跳消息的实现了
心跳机制在hadoop的中占了非常重要的地位,现在我们就来简单的勾画一下心跳检测
(1)
客户端
public static void main(String[] args) {
int port = 9999;
Socket client = null;
String ip = "127.0.0.1";
int cout = 0 ;
// 构造客户端socket对象
try {
client = new Socket(ip, port);
OutputStream out = client.getOutputStream();
System.out.println("客户端2启动");
while(true)
{
cout++;
Thread.sleep(5000);
out.write(String.valueOf(cout).getBytes());
}
System.out.println("客户端2退出");
} catch (Exception e) {
e.printStackTrace();
}
finally
{
System.out.println("退出");
}
}
(2)
服务器端
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(9999);
while(true)
{
//接受客户机的连接请求
Socket client = server.accept();
new TestServer(client).start();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static class TestServer extends Thread
{
Socket client = null ;
public TestServer(){
}
public TestServer(Socket client)
{
this.client = client ;
}
@Override
public void run() {
try
{
InputStream is = this.client.getInputStream();
while(true)
{
if (this.client.isClosed()
|| this.client.isConnected() == false)
break;
try {
System.out.println(Thread.currentThread().getName()+"=>"+"心跳测试正常!");
} catch (Exception ex) {
System.out.println(Thread.currentThread().getName()+"=>"+"心跳测试异常!");
break;
}
byte []data = new byte[28];
is.read(data);
System.out.println(Thread.currentThread().getName()+"=>"+new String(data));
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
System.out.println(Thread.currentThread().getName()+"=>"+"客户端关闭");
}
}
}
通过简单的例子 是不是已经知道心跳消息的实现了
相关文章推荐
- Hadoop的RPC通信------>java实现
- 安卓开发实现长连接,心跳,java后端,实现消息推送,持续更新中
- 2014-11-24--Hadoop的基础学习(六)--简单谈论RPC和Java世界中的RMI
- java自定义实现rpc+hadoop对rpc的实现
- JBuilder2005实现重构之升级到JDK5.0-Java基础-Java-编程开发
- JBuilder2005实现重构之杂项重构-Java基础-Java-编程开发
- JAVA基础学习篇----《thinking in java》第五章:隐藏实现
- JAVA基础:用Java实现HTTP文件队列下载
- JAVA基础:利用Java实现zip压缩解压缩
- 利用Java Swing 实现游戏开发-Java基础-Java-编程开发
- Java实现类MSN、QQ好友上线通知界面-Java基础-Java-编程开发
- Java套接字实现网络编程之基础篇1
- java/vc单点登录的简单实现-Java基础-Java-编程开发
- 利用Java实现串口全双工通讯-Java基础-Java-编程开发
- java实现的18位身份证格式验证算法-Java基础-Java-编程开发
- CORBA对象生命周期之实现和内存管理-Java基础-Java-编程开发
- 使用java.util.concurrent实现的线程池、消息队列功能
- JAVA基础应用: 如何实现希尔排序算法
- java实现屏幕取色-Java基础-Java-编程开发
- Eclipse中自动重构实现探索-Java基础-Java-编程开发