通过Socket实现进程间异步通讯(三)

原创 2004年07月03日 11:45:00

第三步:编写测试代码

 

//Test1.java

package com.hode.thread;

/**
 * @author 泰伯子仪
 *
 * Test1建立一个一般线程,并和Socket信号的服务端邦定
 * 这意味着Test1线程可以通过Socket于其他进程进行通讯
 */
public class Test1 extends CommThread
{

    /**
     * Test1必须继承一般线程CommThread
     * CommThread为虚基类,必须覆写函数dispose()
     */
    public Test1(int sleepTime)
    {
        super(sleepTime);
        this.setName("Test1Thread");
    }
   
    /**
     * 覆写dispose()
     * dispose()为线程中需要处理的事情
     */
    public void dispose()
    {
        for(int i=0 ; i<10 ; i++)
        {
            try
            {
                Thread.sleep(500);
            }
            catch (InterruptedException e){}
            System.out.print(i+" ");
        }
    }
   
    public static void main(String[] args)
    {
        Test1 test1 = new Test1(2000);
        SignalSocketThread ssThread = new SignalSocketThread();
       
        //test1和Socket信号的服务端邦定
        ssThread.serverBind(test1);
       
        //分别启动线程test1和Socket信号的服务端线程
        test1.threadStart();
        ssThread.threadStart();
    }
}

//Test2.java

package com.hode.thread;

/**
 * @author 泰伯子仪
 *
 * Test2是一个希望通过socket与另外一个进程通讯的进程
 * 其中Test2与socket的客户端邦定
 * 而通讯的另一方则是与socket的服务端邦定
 *
 */
public class Test2 implements DealWith
{

    /**
     * Test1必须继承接口DealWith
     * 实现函数dealWith()
     */
    public void dealwith()
    {
        for(int i=0 ; i<10 ; i++)
        {
            try
            {
                Thread.sleep(500);
            }
            catch (InterruptedException e){}
            System.out.print(i+" ");
        }
    }
   
    public static void main(String[] args)
    {
        Test2 test2 = new Test2();
        SignalSocketThread ssThread = new SignalSocketThread();
       
        //与socket的客户端邦定
        ssThread.ClientBind(test2);
    }
}

 

现在分别编译运行Test1和Test2看到什么了

java进程间通讯机制代码

•socket •RMI远程调用 •共享内存 •管道
  • blueangle17
  • blueangle17
  • 2014年06月12日 13:08
  • 1442

进程间通信之-socket编程原理

本文转自http://blog.csdn.net/Angel69Devil/article/details/55805628?locationNum=8&fps=1 1、问题的引入 1) 普通...
  • fchyang
  • fchyang
  • 2017年04月12日 14:55
  • 1340

进程间通信详解 - 命名管道实现

引子 好,到这里呢,就需要介绍实现进程间通信的第四种方式了, 也就是通过命名管道来实现,前面介绍的那三种方式呢,都是有缺陷或者说局限性太强, 而这里介绍的命名管道相对来说,在这方面就...
  • yuepeng_csdn
  • yuepeng_csdn
  • 2016年07月31日 15:57
  • 1383

Android进程间通信(IPC)之Socket

Socket也被称为“套接字”编程,它分为流式套接字和用户数据套接字两种,分别对应于网络传输控制中层中TCP和UDP协议。TCP协议是面向连接的协议,提供稳定的双向通信功能,TCP连接的建立需要经过”...
  • eyishion
  • eyishion
  • 2016年05月22日 16:45
  • 1070

Socket实现进程间通信

概述Socket也称为“套接字”,是网络通信中的概念,它分为流式套接字和用户数举报套接字两种,分别对应于网络的传输控制层中的TCP和UDP协议。TCP协议是面向连接的协议,提供稳定的双向爱那个通信功能...
  • Small_Lee
  • Small_Lee
  • 2016年06月17日 16:39
  • 1550

通过Socket实现进程间异步通讯(一)

 最近写进程间通讯有所心得,故而在此记录以备后忘,也希望大家多提建议  第一步写一个线程类 CommThread.java package com.hode.thread; /** * @author...
  • JasonSeaver
  • JasonSeaver
  • 2004年07月03日 11:34
  • 1672

通过Socket实现进程间异步通讯(二)

第二步:写一个socket异步通讯类SignalSocketThread package com.hode.thread; /** * @author 泰伯子仪 * * 需要使用SignalSocke...
  • JasonSeaver
  • JasonSeaver
  • 2004年07月03日 11:38
  • 2274

通过Socket实现进程间异步通讯(四)

第四步:做一个比较复杂一点的进程间通讯 现在需要通讯的双方均为线程,且处于不同的进程之间   package com.hode.thread; /** * @author 泰伯子仪 *  * Test...
  • JasonSeaver
  • JasonSeaver
  • 2004年07月03日 11:48
  • 1539

Socket进程间通信

我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠so...
  • fanaw
  • fanaw
  • 2016年08月29日 20:51
  • 1668

进程间通信之:socket

最近初步学习了本地进程间通信的方式(PIPE、FIFO、message queue、semaphore、shared memary),计划按照“unix 环境高级编程”来学习socket,但是书本上来...
  • younkerjqb
  • younkerjqb
  • 2016年12月14日 15:25
  • 1081
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过Socket实现进程间异步通讯(三)
举报原因:
原因补充:

(最多只允许输入30个字)